그알것 — 그럼에도 알아야 할 것들
홈질문커뮤니티
로그인
그알것 — 그럼에도 알아야 할 것들

Service

  • 홈
  • 소개
  • 질문
  • 커뮤니티

My

  • 내 워크스페이스
  • 저장한 질문
  • 작성한 답변

Policy

  • 이용약관
  • 개인정보처리방침
  • 문의

© 2026 그알것 · What Still Matters

질문 목록Performance
Performance

트라이(Trie) 자료구조는 무엇인가요?

실무3/5
설계4/5
인간3/5
기초3/5

면접관의 질문 의도

트라이 그림을 그릴 수 있는지가 아니라, prefix 이점과 메모리 비용 사이를 어떤 기준으로 끊는지 가르려는 질문이다.

큐레이션 답변

학습 자료

트라이는 루트에서 문자 하나씩을 간선으로 따라가며 문자열을 저장하는 트리 자료구조다. 같은 접두사를 가진 문자열들은 같은 경로를 공유하기 때문에, 'apple', 'apply', 'april'이 어디까지 같이 흐르고 어디서 갈라지는지가 구조에 그대로 드러난다. 그래서 길이 k짜리 문자열 조회나 prefix 조회를 O(k)에 처리할 수 있어 자동완성에 잘 맞는다. 대신 노드마다 자식 참조를 들고 있어 어휘 크기와 알파벳 범위가 커지면 메모리가 빠르게 부풀어, 자식 구조(배열·해시), 단어 종료 플래그, 압축 트라이(radix tree) 채택 같은 설계 선택이 같이 따라붙는다.

좋은 답변 구조

  1. 01트라이의 구조와 접두사 공유 방식을 정의한다
  2. 02조회·prefix 질의가 O(k)로 처리되는 이유를 설명한다
  3. 03노드당 자식 보관 비용 같은 메모리 단점을 함께 짚는다
  4. 04자동완성·사전·금칙어처럼 prefix 질의가 본 작업인 자리에 어떻게 연결되는지로 마무리한다

자주 실수하는 포인트

트라이를 단순한 해시맵 대체로만 설명하고 prefix 이점을 빼먹는다
단어 종료 플래그를 두지 않아 prefix 일치와 완전 일치를 구분하지 못한다
어휘·알파벳 크기에서 오는 메모리 폭주를 고려하지 않고 자식 배열을 그대로 쓴다

실무 맥락

  • 수십만 개의 검색어를 다루는 자동완성 서버에서 응답 시간이 사용자 체감을 가르는 자리
  • 금칙어·사전 매칭처럼 prefix와 완전 일치를 한 자료구조로 동시에 처리해야 하는 코드
  • 라우터·CLI 파서처럼 접두사로 명령을 좁혀 가는 라우팅 코드

본인 경험에 녹이는 힌트

해시맵 기반 검색을 트라이로 옮기며 prefix·메모리 사이의 균형을 잡아 본 경험이 있다면 자료구조 선택 사례로 연결할 수 있다

대용량 사전에서 압축 트라이·DAWG로 메모리를 줄여 본 적이 있다면 운영 트레이드오프 관점으로 엮을 수 있다

한글·이모지 같은 다바이트 문자열을 트라이에 담아 본 경험이 있다면 자식 구조 선택 기준으로 말할 수 있다

커뮤니티 인기 답변

전체 0개

아직 공개된 답변이 없어요. 첫 공개 답변을 남겨보세요.

관련 꼬리 질문

Q1압축 트라이(radix tree)는 어떤 문제를 해결하나요
Q2유니코드 문자열을 트라이에 저장할 때 고려할 점은 무엇인가요
Q3트라이와 DAWG 중 선택 기준은 무엇인가요
아직 답을 쓰지 않았어요.
큐레이션 답변과 다른 사람 답변을 보고, 자기 언어로 답을 정리해보면 학습 효과가 가장 큽니다.
목차
  • 01면접관의 질문 의도
  • 02큐레이션 답변
  • 03좋은 답변 구조
  • 04자주 실수하는 포인트
  • 05실무 맥락
  • 06본인 경험에 녹이는 힌트
  • 07커뮤니티 인기 답변준비중
  • 08관련 꼬리 질문