Written on
·
138
0
function solution(str1, str2) {
let answer = "yes";
let obj1 = new Map();
for (let x of str1) {
if (obj1.has(x)) {
obj1.set(x, obj1.get(x) + 1);
} else {
obj1.set(x, 1);
}
}
for (let x of str2) {
if (!obj1.has(x) || obj1.get(x) === 0) return "no";
obj1.set(x, obj1.get(x) - 1);
}
return answer;
}
let a = "AbaAeCe";
let b = "aeeACA";
console.log(solution(a, b));
a = AbaAeCe
b = aeeACA
로 서로 문자의 개수가 일치하지 않아도 yes가 나오게되는데, 한쪽에 있는 문자들로 다른 문자를 만들 수 있기만 하면 아나그램인가요?
아니면 아나그램에서는 각 문자의 길이는 같다라는 전제조건하에 검토하는 것인가요??
Answer 1
2
안녕하세요^^
문제에 보시면 "길이가 같은 두 개의 단어가 주어지면" 라고 되어 있습니다. 두 단어의 길이가 다르면 확인할 필요도 없이 아나그램이 아닙니다.