연습 문제
14-1 연습 문제 7-3에서 풀어 본 학생 번호로 학생 이름을 찾는 문제를 딕셔너리를 이용해 풀어 보세요.
다음과 같이 학생 번호와 이름이 주어졌을 때 학생 번호를 입력하면 그 학생 번호에 해당하는 이름을 돌려주고, 해당하는 학생 번호가 없으면 물음표를 돌려줘야 합니다.
39: Justin
14: John
67: Mike
105: Summer
잠깐만요
해시 테이블
파이썬의 딕셔너리와 같이 키(key)와 값(value)을 대응시켜 자료를 보관하는 자료 구조를 컴퓨터 과학 용어로는 ‘해시 테이블(hash table)’이라고 부릅니다. 해시 테이블은 프로그래밍 언어마다 다른 이름으로 부르기도 합니다. 예를 들어 C++에서는 언오더드맵(unordered_map)이라고 부르고 자바에서는 해시맵(hashmap)이라고 부릅니다.
파이썬이나 C#에서는 딕셔너리(dictionary, 사전)라는 용어를 사용합니다. 우리가 평소에 사용하는 사전에 어떤 구조로 단어가 기록되어 있는지 떠올려 보면 왜 딕셔너리라고 부르는지 이해가 될 것입니다.
korean_dict =
{
“선생”: “학생을 가르치는 사람”,
“학생”: “학교에 다니면서 공부하는 사람”,
…
“찾는 단어”: “단어의 뜻”
}
해시 테이블은 키(key)와 값(value)을 대응시켜 여러 개의 자료를 보관하는 효율성이 높은 자료 구조입니다.