1. Hash Map 자료구조
Key - Value 로 데이터를 저장하는 자료구조이다.
2. 대표문제 - 아나그램
두 문자열에서 알파벳의 나열 순서는 다르지만 그 구성이 일치할 때 두 문자열은 아나그램이라고 한다.
예를 들면 AbaAeCe 와 baeeACA 는 알파벳의 나열 순서는 다르지만 각각의 문자의 개수는 같으므로 아나그램이다.
두 단어가 입력으로 주어지고 아나그램인지 아닌지를 판단하는 함수를 작성하시오.
function isAnagram(str1, str2) {
let sH = new Map();
for(let x of str1){
if(sH.has(x)) sH.set(x, sH.get(x) + 1);
else sH.set(x, 1);
}
for(let x of str2){
if(!sH.has(x) || sH.get(x) === 0) return false;
sH.set(x, sH.get(x) - 1);
}
return true;
}
'Computer Science > 코딩테스트 문제 모음' 카테고리의 다른 글
정렬 (0) | 2021.07.24 |
---|---|
스택/큐 자료구조 문제 (0) | 2021.07.23 |
Sliding Window Algorithm (0) | 2021.06.14 |
Two Pointers Algorithm (0) | 2021.06.05 |
Summer/Winter Coding(~2018) 소수 만들기 (0) | 2021.05.03 |