Ch.3 해시맵과 해시셋
챕터 3 종합 퀴즈
해시 함수, 충돌 해결, dict 내부 동작을 종합적으로 점검한다HashMap 패턴을 실전 문제에 적용하는 판단력을 확인한다
해시맵 챕터 총정리! 배운 것을 모두 점검합니다
해시 함수부터 충돌 해결, Python dict 내부, 빈도수 패턴, 면접 5패턴까지 — 이번 챕터의 핵심을 퀴즈로 확인해봅시다.
정말 이해한 건지, 퀴즈로 증명할 시간입니다
10문제로 챕터 3의 모든 개념을 점검합니다.
article
핵심 내용
해시 함수의 가장 중요한 성질은?
Linear Probing에서 충돌이 발생하면 어떻게 하나요?
Python dict는 삽입 순서를 보장하지 않는다
다음 중 dict의 키로 사용할 수 있는 것은?
Counter("abracadabra").most_common(2)의 결과는?
Two Sum에서 해시맵에 저장하는 것은?
Load Factor = ___ (영어로 입력, 예: n/m)
Chaining 방식에서 최악의 경우 조회 시간은 O(n)이다
Group Anagrams에서 아나그램을 같은 키로 만드는 방법은?
Longest Consecutive Sequence에서 set을 사용하는 이유는?
해시맵 마스터!
edit_note
정리 노트
해시맵과 해시셋 — 챕터 3 총정리
해시 기초
- 해시 함수
- 키 → 고정 크기 정수 변환, 같은 입력 → 같은 출력
- 충돌 해결
- Chaining(리스트 연결) vs Open Addressing(빈 슬롯 탐색)
- Load Factor
- n/m — Python dict는 2/3 초과 시 리사이즈
Python 도구
- dict
- O(1) 키-값 조회, __hash__ + __eq__ 필요
- set
- O(1) 존재 확인, 중복 제거
- Counter
- 빈도수 세기 + most_common + 집합 연산
면접 5패턴
- Two Sum
- 보수 탐색 — seen[num]=i, complement 조회
- Group Anagrams
- 키 변환 — sorted(s) + defaultdict(list)
- Top K Frequent
- Counter.most_common(k) 또는 Bucket Sort
- Valid Sudoku
- set × 3 (행/열/박스) 중복 감지
- Longest Consecutive
- set + 시작점(num-1 없는 수)부터 확장
★
해시맵 = O(1) 조회의 마법. 면접에서 가장 자주 쓰이는 자료구조!
check_circle
핵심 정리
- 1해시 함수 → 충돌 해결 → Python dict 내부 동작
- 2Counter / defaultdict로 빈도수 세기
- 3면접 5패턴: Two Sum, Group Anagrams, Top K, Sudoku, Longest Consecutive
퀴즈와 인터랙션으로 더 깊이 학습하세요
play_circle인터랙티브 레슨 시작