알고리즘
anagram - 애너그램
hello-world
2023. 3. 5. 02:25
728x90
반응형
anagram - 애너그램
어떠한 단어의 문자를 재배열하여 다른 뜻을 가지는 다른 단어로 바꾸는 것을 말한다.
function validAnagram(first, second) {
if (first.length !== second.length) {
return false;
}
const lookup = {};
for (let i = 0; i < first.length; i++) {
let letter = first[i];
//lookup[letter] 이미 존재하면 갯수를 +1 해준다. 즉 중복개수 체크
lookup[letter] ? lookup[letter] += 1 : lookup[letter] = 1;
}
console.log(lookup) //{ a: 3, n: 1, g: 1, r: 1, m: 1, s: 1 }
for (let i = 0; i < second.length; i++) {
let letter = second[i];
if (!lookup[letter]) {
return false;
} else {
lookup[letter] -= 1;
}
}
return true;
}
// {a: 0, n: 0, g: 0, r: 0, m: 0,s:1}
validAnagram('anagrams', 'nagaramm')
728x90
반응형