Data Structure & Algorithm
[์๊ณ ๋ฆฌ์ฆ-JS] ํด์ (hash) - ์๋๊ทธ๋จ (Anagram)
fnow
2022. 5. 4. 09:31
๋ฐ์ํ
๐ก ์๋๊ทธ๋จ์ด๋, ๋ ๋ฌธ์์ด์ ๋์ด ์์๋ ๋ค๋ฅด์ง๋ง ๊ตฌ์ฑ์ด ์ผ์นํ ๊ฒ์ ๋งํ๋ค.
๋ฌธ์
๋ ๋ฌธ์์ด์ด ์๋๊ทธ๋จ์ธ์ง ํ๋จํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
๋์๋ฌธ์๋ ๊ตฌ๋ถ๋ฉ๋๋ค.
์ ๋ ฅ ์์ 1
ABcdefc
BAcdfce
์ถ๋ ฅ ์์ 1
YES
ํ์ด
function solution(a, b) {
let answer = "YES";
let hash1 = new Map();
for (let x of a) {
// ์ด๋ฏธ ์กด์ฌํ๋ฉด
if (hash1.has(x)) hash1.set(x, hash1.get(x) + 1);
// ์์ผ๋ฉด
else hash1.set(x, 1);
}
// ๋ ๋ฒ์งธ ๋ฌธ์์ด์ ์ํํ๋ฉด์ hash1์ ์์ผ๋ฉด -1
// hash1์ ํด๋น ๊ฐ์ด ์๊ฑฐ๋ value๊ฐ 0์ด๋ฉด ์๋๊ทธ๋จ ์๋
for (let x of b) {
if (!hash1.has(x) || hash1.get(x) === 0) return "NO";
hash1.set(x, hash1.get(x) - 1);
}
return answer;
}
๋ฐ์ํ