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

+ Recent posts