해결된 질문
작성
·
122
·
수정됨
0
function solution(words1, words2) {
const firstWordMap = new Map();
const secondWordMap = new Map();
let answer = "YES";
// 단어 구성 문자열 판별
for (let item of words1) {
if (firstWordMap.has(item)) {
firstWordMap.set(item, firstWordMap.get(item) + 1);
} else {
firstWordMap.set(item, 1);
}
}
for (let item of words2) {
if (secondWordMap.has(item)) {
secondWordMap.set(item, secondWordMap.get(item) + 1);
} else {
secondWordMap.set(item, 1);
}
}
// 아나그램 판단
for ([key, value] of firstWordMap) {
if (secondWordMap.has(key) && secondWordMap.get(key) === value) {
answer = "YES";
} else {
return "NO";
}
}
return answer;
}
// test case
console.log(solution("AbaAeCe", "baeeACA"));
console.log(solution("abaCC", "Caaab"));
위와 같이 map을 두개 만들어 비교하는 방법은 별로일까요?
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
질문자님이 제시하신 문제에 대해 유사한 질문과 답변을 찾았습니다. 아래의 링크에서 지식공유자가 제공한 답변을 참고하여 문제 해결에 도움이 되길 바랍니다.
Map
을 두 개 생성하여 해당하는 문자의 개수를 카운트하고, 이후에 각 문자의 개수를 비교하는 방식으로 아나그램인지 판별하고 있습니다. 강사님은 이러한 접근 방식이 시간 복잡도 측면에서 큰 차이가 없다고 언급하셨습니다.주어진 코드에 대한 답변의 요약:
- 두 개의 Map
을 사용하여 문자의 개수를 비교하는 것은 복잡도 측면에서 문제가 없으며 유효한 해결 방법으로 간주 됨.
- 해당 방법은 제시된 코드와 유사하기에 효과적인 방법으로 볼 수 있음.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.