
해시함수 란 ? 임의의 길이의 입력을 받아서 고정된 길이의 출력을 내보내는 함수로 자료의 저장과 탐색에 쓰인다. 문제 요약 문제 a ~ z 까지 고유한 번호 1 ~ 26으로 부여해 준다. 입력받은 영어로 된 문자열을 고유한 번호로 바꿔준 뒤, 이 수열을 하나의 정수로 치환하기 위해 모든 수열을 더해준다. 그리고 다 더한 값을 유한한 범위를 갖기 위해 적당히 큰 수 M 으로 나눠준다. 이렇게 나오게 되는 것이 해시값이다. 하지만, 서로 다른 문자열이라도 동일한 해시값을 가질 수 있으며, 이를 해시충돌이라고 한다. 이러한 해시충돌을 줄이기 위해 수열의 각 항마다 고유한 계수를 부여하면 되는데 가장 대표적인 방법이 항의 번호에 해당하는 만큼 특정한 숫자 r을 거듭제곱해서 곱해준 다음 더하는 것이다. 이 문제에..