인프런 커뮤니티 질문&답변
질문있습니다!
작성
·
150
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가 나오게되는데, 한쪽에 있는 문자들로 다른 문자를 만들 수 있기만 하면 아나그램인가요?
아니면 아나그램에서는 각 문자의 길이는 같다라는 전제조건하에 검토하는 것인가요??
퀴즈
45%나 틀려요. 한번 도전해보세요!
투 포인터 또는 슬라이딩 윈도우 기법이 중첩 반복문보다 효율적인 주된 이유는 무엇일까요?
더 적은 메모리를 사용해서일까요?
코드가 더 짧아져서일까요?
대부분의 경우 O(N) 시간 복잡도를 달성해서일까요?
입력 데이터 크기에 영향을 받지 않아서일까요?
답변 1
2





