코딩 테스트
자료구조 선택 면접·코딩테스트 체크리스트
배열, 해시, 스택, 큐, 힙, 그래프를 언제 선택하고 어떤 복잡도로 설명할지 정리한 실전 가이드입니다.
첫 30초 답변
“필요한 연산이 조회인지, 순서 보장인지, 최솟값 반복 추출인지부터 분류하겠습니다.”라고 시작하면 자료구조를 외운 것이 아니라 선택한다는 점이 드러납니다.
자주 묻는 질문과 답변의 뼈대
해시는 언제 쓰나요?
키로 빠르게 존재 여부나 누적 값을 확인할 때 씁니다. 평균 O(1)이지만 정렬 순서와 최악의 충돌을 보장하지 않는다는 제약을 같이 말합니다.
힙과 정렬 중 무엇을 고르나요?
한 번 전체 순서가 필요하면 정렬이 단순합니다. 스트림에서 상위 K개나 다음 최솟값을 계속 꺼내야 하면 힙이 맞습니다.
그래프 탐색은 어떻게 고르나요?
최단 경로의 가중치가 같으면 BFS, 가중치가 음수가 아니면 다익스트라를 검토합니다. 방문 처리와 인접 리스트의 메모리 비용도 설명합니다.
면접 전 체크리스트
- 필요 연산과 복잡도를 먼저 적었다
- 정렬·해시·힙의 교환 조건을 안다
- 방문 배열과 사이클 처리를 검증했다
- 언어 표준 라이브러리 사용법을 연습했다
관련 언어 학습으로 복습하기
연습 방법
질문 하나를 골라 2분 안에 말로 답한 뒤, 빠진 가정·트레이드오프·검증 방법을 메모하세요. 다음 날에는 예시를 바꿔 같은 구조로 다시 답해 보세요.