해시는 앞서 공부했던 배열이나 스택, 큐와는 다른 문제를 풀기 위한 자료구조이다. 해시 없이 배열만으로 "값 찾기"를 한다고 가정해보자. 배열/리스트에서 9라는 값이 있는지 찾으려면 앞에서부터 하나씩 비교해야하는 연산을 수행해야 하고 이는 O(n)이다. 인덱스를 안다면 O(1)이지만, 우리가 알고 찾으려고 하는 것은 값(키)이다. 해시는 키를 계산(해시 함수)해서 곧바로 배열의 인덱스로 바꾼다.그럼 키를 어떻게 인덱스로 바꿀까? 그 계산을 맡는 게 해시 함수(hash function) 다. 해시 함수는 임의의 키를 정해진 범위의 숫자로 변환한다. 예를 들어 "apple"이라는 문자열을 넣으면 8493... 같은 정수(해시값)가 나온다.그런데 이 숫자는 배열 크기보다 클 수 있으니, 배열 크기로 나눈 나머..