홍우진의 개발 일기장

[백준] 15829번: Hashing / 파이썬 본문

알고리즘/백준

[백준] 15829번: Hashing / 파이썬

홍우진 2024. 12. 1. 22:35
728x90
반응형

문제 링크


https://www.acmicpc.net/problem/15829/

 

 

풀이 코드


L = int(input())
mun = input()
sum = 0

for i in range(L):  #for문으로 L만큼 반복
    sum += (ord(mun[i]) - 96) * (31**i) 
    #ord를 사용하여 알파벳을 아스키코드로 변환하고 - 96을 하여 a가 1이 되게 한다.

print(sum % 1234567891)

코드 해석


생각보다 간단하다.

ord는 아스키코드를 이용하여 알파벳을 숫자로 변환시켜준다.

a 가 97 부터 시작이기때문에 -96을 하여 알파벳의 시작점을 1로 만들어준다.

그 후에 나와있는 공식을 그대로 코드에 적용시켜주면 된다.

728x90
반응형
Comments