알고리즘을 바로 코드로 보기 전에 먼저 Anagram이 무엇인지부터 살펴보는 것이 순서일테다. Anagram(이하 “아나그램”)은 한 단어를 구성하는 글자의 개수를 그대로 유지하면서 순서만 바꾼 단어를 일컫는 말로 한글로는 ‘어구전철’(語句轉綴)이라고도 한다. 바로 예를 살펴보면 편하다.
function validAnagram(t1,t2){
if(t1.length !== t2.length) {
return false;
}
const lookup = {};
for(let i = 0 ; i < t1.length;i++){
let letter = t1[i]
console.log( lookup[letter])
lookup[letter] ? lookup[letter] += 1 : lookup[letter] = 1;
}
for(let i = 0 ; i < t2.length;i++){
let letter = t2[i]
if(!lookup[letter]){
return false;
}else{
lookup[letter] -= 1;
}
}
return true
}