๋ฌธ์ ํ์
ransomNote
๋ฌธ์์ด์ด magazine
๋ฌธ์์ด์ ๋ฌธ์๋ค๋ก ๊ตฌ์ฑ๋ ์ ์์ผ๋ฉด true
๋ฅผ, ๊ทธ๋ ์ง ์๋ค๋ฉด false
๋ฅผ ๋ฐํํด์ผํ๋ค.
magazine
์ ๋ฌธ์๋ ์ค๋ณต์ผ๋ก ์ฌ๋ฌ๋ฒ ์ฐ์ผ ์ ์๋ค.
ํ์ด
1๏ธโฃ map์ ์ด์ฉํ ํ์ด
๐ก ๋ ์ค๋ฅธ Ideamagazine
๋ฌธ์์ด์ ๋ฌธ์๋ก ์ชผ๊ฐ ํ,map
์๋ฃ๊ตฌ์กฐ๋ฅผ ์ด์ฉํด์ ๋ฌธ์ ๋ณ ๊ฐ์๋ฅผ ๊ธฐ๋กํ๋ค.
๊ทธ๋ฆฌ๊ณ ,ransomNote
๋ฌธ์์ด์ ๋ฌธ์๋ฅผ ์ํํ๋ฉด์ ๊ธฐ๋กํmap
์๋ฃ๊ตฌ์กฐ์ ๋ฌธ์๊ฐ ์กด์ฌํ๋์ง ์ฒดํฌํ๊ณ ์๋ค๋ฉด ๊ฐ์๋ฅผ -1 ํ๋ค.
๊ธฐ๋ก๋์ด ์๋ ๋ฌธ์๊ฐ ์๊ฑฐ๋ ๊ฐ์๊ฐ ๋ชจ์๋ฅธ ๊ฒฝ์ฐfalse
๋ฅผ ๋ฐํํ๋ค.
import java.util.*;
class Solution {
public boolean canConstruct(String ransomNote, String magazine) {
HashMap<Character, Integer> map = new HashMap<>();
char[] split = magazine.toCharArray();
for (char ch : split) {
map.put(ch, map.getOrDefault(ch, 0) + 1);
}
split = ransomNote.toCharArray();
for (char ch : split) {
if (!map.containsKey(ch) || map.get(ch) == 0) {
return false;
} else {
map.put(ch, map.get(ch) - 1);
}
}
return true;
}
}
๊ฒฐ๊ณผ
๋ฌธ์์ด์ ๋ถ๋ฆฌํ ๋, split("")
์ผ๋ก String
๋ฐฐ์ด๋ก ๋ง๋ค๊ฑฐ๋ toCharArray()
๋ก char
๋ฐฐ์ด๋ก ๋ง๋๋ ๋ฐฉ๋ฒ์ด ์๋๋ฐ
toCharArray()
๋ก ์ชผ๊ฐ๋ ๋ฐฉ์์ด ์คํ ์๊ฐ์ด ํจ์ฌ ๋นจ๋๋ค.
split("")
์ ๊ฒฝ์ฐ, ์ ๊ท ํํ์์ ํ๋จํ๋ ์์
์ด ์ถ๊ฐ๋์ด ์๊ฐ ๋น์ฉ์ด ๋ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ด๋ผ๊ณ ํ๋ค.
๐ ํ๊ณ
ํญ์ ๋ฌธ์์ด์ ๋ถ๋ฆฌํ ๋, split("")
๋ฉ์๋๋ฅผ ์๊ฐ์์ด ์ฌ์ฉํ์๋๋ฐ
์ด๋ฒ ๊ธฐํ๋ก, ์คํ ์๋์ ๊ฝค๋ ํฐ ์ฐจ์ด๊ฐ ๋ฐ์ํ๋ค๋ ์ ์ ์๊ฒ๋์๋ค.
toCharArray()
๋ก๋ ํด๊ฒฐํ ์ ์๋ ๋ฌธ์ ๋ toCharArray()
์ฌ์ฉ์ ์งํฅํด์ผ๊ฒ ๋ค.