학습 본문으로 건너뛰기
VAIRODE
hash table1번째 작은 수업
오늘은 질문 하나만 해결해요1 / 72

따라 해보기 · 직접 바꿔보기

map·set ADT와 hash table 표현 분리

오늘의 질문

map은 key→value, set은 membership 계약이며 hash table은 이를 구현하는 여러 표현 중 하나다. 이를 생략하면 API가 map이라는 이유로 collision strategy와 iteration order까지 고정됐다고 본다.에서도 작은 예시는 맞을 수 있지만 충돌·삭제·재해시·적대 입력에서 재현 가능한 판단은 남지 않습니다.

아직 답을 몰라도 괜찮아요. 아래 작은 예시를 보고 먼저 예상해 보세요.

01 · 같이 연습해요

작은 문제부터 하나씩 직접 풀어봐요

먼저 예상하고, 한 단계씩 확인하고, 막힌 곳을 고쳐 봐요. 도움을 열어도 괜찮아요. 도움을 본 문제는 나중에 모양을 바꿔 다시 풀어보면 됩니다.

연습에서 작성 중인 답0 / 8
  1. 01

    찾아보기 · 기초

    ht01 recognize · map·set ADT와 hash table 표현 분리: map ADT·set ADT·hash-table representation 단서에서 “map은 key→value, set은 membership 계약이며 hash table은 이를 구현하는 여러 표현 중 하나다.”을 만족하는 hash-table 판정을 고른다.

    이 문제는 주어진 내용과 정답 기준을 더 만드는 중이에요. 지금 적은 답은 연습 메모로만 저장돼요.

    정답 대신 4단계 힌트 보기
    1. 관찰

      API가 map이라는 이유로 collision strategy와 iteration order까지 고정됐다고 본다. 직전까지 참이었던 key→bucket/probe 관계와 처음 달라진 state·result를 찾으세요.

    2. 개념

      map ADT·set ADT·hash-table representation를 ADT·collision strategy·source-level로 나눠 적으세요.

    3. 다음 도움

      내 생각을 먼저 적고 ‘내 답과 맞춰 볼 기준 보기’을 누르면, 풀 순서와 더 자세한 도움을 열어 드려요.

    정답과 비교
  2. 02

    먼저 생각하기 · 기초

    ht01 predict · map·set ADT와 hash table 표현 분리: “API가 map이라는 이유로 collision strategy와 iteration order까지 고정됐다고 본다.” 조건에서 probe·chain·load·lookup 결과를 실행 전에 봉인한다.

    이 문제는 주어진 내용과 정답 기준을 더 만드는 중이에요. 지금 적은 답은 연습 메모로만 저장돼요.

    정답 대신 4단계 힌트 보기
    1. 관찰

      API가 map이라는 이유로 collision strategy와 iteration order까지 고정됐다고 본다. 직전까지 참이었던 key→bucket/probe 관계와 처음 달라진 state·result를 찾으세요.

    2. 개념

      map ADT·set ADT·hash-table representation를 ADT·collision strategy·source-level로 나눠 적으세요.

    3. 다음 도움

      내 생각을 먼저 적고 ‘내 답과 맞춰 볼 기준 보기’을 누르면, 풀 순서와 더 자세한 도움을 열어 드려요.

    움직임과 비교
  3. 03

    순서 따라가기 · 익힌 것을 써보기

    ht01 trace · map·set ADT와 hash table 표현 분리: hash → index → collision strategy → equality → result 순서로 ADT operation과 representation claim을 나눈 contract matrix를 완성한다.

    이 문제는 주어진 내용과 정답 기준을 더 만드는 중이에요. 지금 적은 답은 연습 메모로만 저장돼요.

    정답 대신 4단계 힌트 보기
    1. 관찰

      API가 map이라는 이유로 collision strategy와 iteration order까지 고정됐다고 본다. 직전까지 참이었던 key→bucket/probe 관계와 처음 달라진 state·result를 찾으세요.

    2. 개념

      map ADT·set ADT·hash-table representation를 ADT·collision strategy·source-level로 나눠 적으세요.

    3. 다음 도움

      내 생각을 먼저 적고 ‘내 답과 맞춰 볼 기준 보기’을 누르면, 풀 순서와 더 자세한 도움을 열어 드려요.

    움직임과 비교
  4. 04

    내 말로 설명하기 · 익힌 것을 써보기

    ht01 explain · map·set ADT와 hash table 표현 분리: map은 key→value, set은 membership 계약이며 hash table은 이를 구현하는 여러 표현 중 하나다.이 필요한 이유와 ADT operation과 representation claim을 나눈 contract matrix가 보장하지 못하는 runtime·security·concurrency 범위를 설명한다.

    이 문제는 주어진 내용과 정답 기준을 더 만드는 중이에요. 지금 적은 답은 연습 메모로만 저장돼요.

    정답 대신 4단계 힌트 보기
    1. 관찰

      API가 map이라는 이유로 collision strategy와 iteration order까지 고정됐다고 본다. 직전까지 참이었던 key→bucket/probe 관계와 처음 달라진 state·result를 찾으세요.

    2. 개념

      map ADT·set ADT·hash-table representation를 ADT·collision strategy·source-level로 나눠 적으세요.

    3. 다음 도움

      내 생각을 먼저 적고 ‘내 답과 맞춰 볼 기준 보기’을 누르면, 풀 순서와 더 자세한 도움을 열어 드려요.

    설명 기준과 비교
  5. 05

    빈칸 채우기 · 익힌 것을 써보기

    ht01 complete · map·set ADT와 hash table 표현 분리: 누락된 hash/equality·bucket·probe·slot-state·load-factor 칸을 채워 “요구사항을 map·set·multimap·non-hash 후보로 분류한다.”을 완성한다.

    이 문제는 주어진 내용과 정답 기준을 더 만드는 중이에요. 지금 적은 답은 연습 메모로만 저장돼요.

    정답 대신 4단계 힌트 보기
    1. 관찰

      API가 map이라는 이유로 collision strategy와 iteration order까지 고정됐다고 본다. 직전까지 참이었던 key→bucket/probe 관계와 처음 달라진 state·result를 찾으세요.

    2. 개념

      map ADT·set ADT·hash-table representation를 ADT·collision strategy·source-level로 나눠 적으세요.

    3. 다음 도움

      내 생각을 먼저 적고 ‘내 답과 맞춰 볼 기준 보기’을 누르면, 풀 순서와 더 자세한 도움을 열어 드려요.

    답과 설명 함께 비교
  6. 06

    틀린 곳 고치기 · 익힌 것을 써보기

    ht01 debug · map·set ADT와 hash table 표현 분리: AI가 만든 구현에 “API가 map이라는 이유로 collision strategy와 iteration order까지 고정됐다고 본다.”를 주입하고 최초 잘못된 hash-table state transition만 수정한다.

    이 문제는 주어진 내용과 정답 기준을 더 만드는 중이에요. 지금 적은 답은 연습 메모로만 저장돼요.

    정답 대신 4단계 힌트 보기
    1. 관찰

      API가 map이라는 이유로 collision strategy와 iteration order까지 고정됐다고 본다. 직전까지 참이었던 key→bucket/probe 관계와 처음 달라진 state·result를 찾으세요.

    2. 개념

      map ADT·set ADT·hash-table representation를 ADT·collision strategy·source-level로 나눠 적으세요.

    3. 다음 도움

      내 생각을 먼저 적고 ‘내 답과 맞춰 볼 기준 보기’을 누르면, 풀 순서와 더 자세한 도움을 열어 드려요.

    답과 설명 함께 비교
  7. 07

    직접 만들기 · 새 문제

    ht01 implement · map·set ADT와 hash table 표현 분리: 요구사항을 map·set·multimap·non-hash 후보로 분류한다.을 frozen synthetic key stream에 적용해 ADT operation과 representation claim을 나눈 contract matrix를 생성한다.

    이 문제는 주어진 내용과 정답 기준을 더 만드는 중이에요. 지금 적은 답은 연습 메모로만 저장돼요.

    정답 대신 4단계 힌트 보기
    1. 관찰

      API가 map이라는 이유로 collision strategy와 iteration order까지 고정됐다고 본다. 직전까지 참이었던 key→bucket/probe 관계와 처음 달라진 state·result를 찾으세요.

    2. 개념

      map ADT·set ADT·hash-table representation를 ADT·collision strategy·source-level로 나눠 적으세요.

    3. 다음 도움

      내 생각을 먼저 적고 ‘내 답과 맞춰 볼 기준 보기’을 누르면, 풀 순서와 더 자세한 도움을 열어 드려요.

    정답과 비교
  8. 08

    새 문제에 써보기 · 새 문제

    ht01 transfer · map·set ADT와 hash table 표현 분리: cache index·dedup service·symbol table로 판단을 옮겨 보존할 계약과 달라지는 collision·cost·security 경계를 방어한다.

    이 문제는 주어진 내용과 정답 기준을 더 만드는 중이에요. 지금 적은 답은 연습 메모로만 저장돼요.

    정답 대신 4단계 힌트 보기
    1. 관찰

      API가 map이라는 이유로 collision strategy와 iteration order까지 고정됐다고 본다. 직전까지 참이었던 key→bucket/probe 관계와 처음 달라진 state·result를 찾으세요.

    2. 개념

      map ADT·set ADT·hash-table representation를 ADT·collision strategy·source-level로 나눠 적으세요.

    3. 다음 도움

      내 생각을 먼저 적고 ‘내 답과 맞춰 볼 기준 보기’을 누르면, 풀 순서와 더 자세한 도움을 열어 드려요.

    설명 기준과 비교

8개 답이 남았습니다.

02 · 막힌 곳을 찾아요

틀린 답에서 생각이 갈라진 첫 지점 찾기

헷갈림 01

API가 map이라는 이유로 collision strategy와 iteration order까지 고정됐다고 본다.

겉으로 보이는 막힘
map·set ADT와 hash table 표현 분리 구현이 일부 예시는 통과하지만 key lookup·duplicate·delete 결과를 재현하지 못한다.
막힌 까닭
map은 key→value, set은 membership 계약이며 hash table은 이를 구현하는 여러 표현 중 하나다.을 mutation 전에 봉인하지 않았다.
다시 해보는 방법
요구사항을 map·set·multimap·non-hash 후보로 분류한다.에서 key/equality/hash와 state transition을 고정하고 ADT operation과 representation claim을 나눈 contract matrix를 다시 만든다.
헷갈림 02

최종 key/value만 기록하고 bucket·probe·slot-state·tombstone·capacity를 생략한다.

겉으로 보이는 막힘
collision 뒤 false miss, duplicate entry, broken probe chain 또는 resize data loss가 생긴다.
막힌 까닭
logical map/set state와 physical collision state를 분리하지 않았다.
다시 해보는 방법
ADT operation과 representation claim을 나눈 contract matrix에 각 operation의 방문 순서·equality check·state change와 결과를 함께 기록한다.
헷갈림 03

단일 실행 성공이나 average/constant 문구를 portable worst-case·DoS resistance·atomicity로 확대한다.

겉으로 보이는 막힘
cache index·dedup service·symbol table에서 latency spike·collision attack·race·iteration invalidation을 놓친다.
막힌 까닭
표준·API·구현·측정·threat model을 분리하지 않았다.
다시 해보는 방법
API가 map이라는 이유로 collision strategy와 iteration order까지 고정됐다고 본다. fixture의 claim을 좁히고 security·concurrency·measurement를 별도 evidence로 둔다.

03 · 내게 맞는 도움 고르기

같은 목표를 원하는 도움만큼 연습해요

안내 받으며

안내형

map ADT · set ADT · hash-table representation 카드와 hash/bucket/probe/state 표를 제공하고 색상 외에도 key·hash·index·slot-state·result label을 표시한다.

map·set ADT와 hash table 표현 분리에서 key hash부터 bucket 또는 probe 방문, equality, state change와 결과를 추적하는 설명도에서 색상뿐 아니라 key·hash·bucket/probe ordinal·slot state·equality·size·capacity·result·claim-level을 문자와 선 종류로 표시한다.
혼자 해보기

내 힘으로

map·set ADT와 hash table 표현 분리의 미공개 key stream에서 contract·collision·delete/resize·cost/security claim을 독립 재구성하는 능력의 처음 보는 frozen key stream을 AI 없이 분석하고 expected lookup·logical entries·boundary verdict를 봉인한 뒤 실행 관찰과 대조한다.

공식 정의·API 문법·도구 사용법은 열 수 있지만 해당 변형의 최종 bucket/probe trace, exact slot transition, hidden fixture와 최종 structure 선택은 먼저 제공하지 않는다.
더 도전하기

심화형

cache index·dedup service·symbol table에서 high load·adversarial collision·concurrent mutation 중 두 축을 추가하고 판정이 바뀌는 최소 trace를 찾는다.

더 정밀한 trace와 threat model은 오류 탐지력을 높이지만 문서 비용도 늘리므로 decision-changing collision·delete·rehash event를 우선 기록한다.