비교용 키 만들기
" Apple " → "apple"문자열 표기 차이를 먼저 같은 key로 모은 뒤, 값이 필요한지 여부에 따라 Set과 Map을 선택한다.
" Apple " → "apple"seen.has(key)freq[key] += 1| 질문 | 구조 | 저장값 | 대표 사용처 |
|---|---|---|---|
| 이미 본 적 있는가? | Set | key만 저장 | 중복 제거, 방문 체크 |
| 몇 번 나왔는가? | Map | key → count | 빈도, Top-K 후보 |
| 마지막 위치가 필요한가? | Map | key → index | 가장 긴 구간, 최근 갱신 |
| 상위 K개만 필요한가? | Map + Heap | count와 후보 | K개 유지, 전체 정렬 회피 |
핵심: 정규화 전에는 비교하지 않고, 정규화 후에는 필요한 정보량만큼만 저장한다.