해시맵 · 해시셋

평균 O(1) 조회·삽입으로 “본 적 있나?”를 빠르게 답합니다.

← 원리 목록 · 배우기에서 자세히

Set

존재만: 중복 문자, 방문 여부.

Map

키→값: 빈도, 인덱스, 여분(target−x).

const seen = new Map();
for (let i = 0; i < a.length; i++) {
  const need = target - a[i];
  if (seen.has(need)) return [seen.get(need), i];
  seen.set(a[i], i);
}

함정

키 타입(숫자 vs 문자열), 빈도와 인덱스 혼동.

한 줄

> 두 번 보면 Map, 한 번만 보면 Set.

배우기에서 더 읽기

관련 문제