알고리즘 문제 풀이: 파이썬/BOJ

[BOJ_15829] Hashing

hueco 2021. 9. 24.

문제 링크: https://www.acmicpc.net/problem/15829

 

15829번: Hashing

APC에 온 것을 환영한다. 만약 여러분이 학교에서 자료구조를 수강했다면 해시 함수에 대해 배웠을 것이다. 해시 함수란 임의의 길이의 입력을 받아서 고정된 길이의 출력을 내보내는 함수로 정

www.acmicpc.net

내 풀이:

참고용 풀이:

Review:

 내 풀이에서는 리스트 컴프리헨션과 딕셔너리 컴프리헨션을 이용해서 풀이했다. 알고리즘 문제를 풀면서 리스트 컴프리헨션은 많이 이용했지만 딕셔너리 컴프리헨션은 자주 이용하지 않아 사용법을 복기하는 의미에서 사용하였다. 

 참고용 풀이에서는 알파벳에 해당하는 고유번호(a)를 구하기 위해 ord() 내장 함수를 사용했다. ord('a')의 값은 97이므로 여기에 96을 빼 a에 해당하는 값을 1로 만들어주는 부분이 흥미로웠다. 

 

Idea:

 문제의 길이가 길어 뭔가 어려워 보이지만 해시 함수에 대해 설명하는 내용이 대부분이고 문제에서 구현의 포인트를 친절히 알려주고 있는 문제이다. 주어진 수식에 맞게 수학 계산을 할 수 있다면 어렵지 않다. 문제를 풀고 나서 50점이 나오는 경우는 M을 이용한 연산을 뺀 경우이므로 문제를 다시 읽어보면 해당 부분의 코드를 어떻게 수정할지 어렵지 않게 떠올릴 수 있을 것이다.

'알고리즘 문제 풀이: 파이썬 > BOJ' 카테고리의 다른 글

[BOJ_2875] 대회 or 인턴  (0) 2021.10.17
[BOJ_2822] 점수 계산  (0) 2021.10.12
[BOJ_2231] 분해합  (0) 2021.09.24
[BOJ_17413] 단어 뒤집기 2  (0) 2021.09.24
[BOJ_5397] 키로거  (0) 2021.09.22

댓글