강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

재영짱님의 프로필 이미지
재영짱

작성한 질문수

자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)

7. 아나그램(Hash Map)

제가 푼 방식은 어떤가요?

작성

·

237

0

function solution(str1, str2) {
let obj1 = {};
let obj2 = {};
for (let i = 0; i < str1.length; i++) {
if (!obj1[str1[i]]) {
obj1[str1[i]] = 1;
} else {
obj1[str1[i]]++;
}
}
for (let i = 0; i < str2.length; i++) {
if (!obj2[str2[i]]) {
obj2[str2[i]] = 1;
} else {
obj2[str2[i]]++;
}
}
for (let key in obj1) {
if (obj1[key] !== obj2[key]) return 'No';
}
return 'YES';
}

let a = 'abaCC';
let b = 'Caaab';
console.log(solution(a, b));

 

이렇게 풀면 안좋은 점이 있을까요?

퀴즈

투 포인터 또는 슬라이딩 윈도우 기법이 중첩 반복문보다 효율적인 주된 이유는 무엇일까요?

더 적은 메모리를 사용해서일까요?

코드가 더 짧아져서일까요?

대부분의 경우 O(N) 시간 복잡도를 달성해서일까요?

입력 데이터 크기에 영향을 받지 않아서일까요?

답변 1

0

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

잘 하신 코드입니다.

재영짱님의 프로필 이미지
재영짱

작성한 질문수

질문하기