백준 문제 풀이/수학

15829 Hashing (python)

한사공사 2024. 6. 27. 17:58

문제

 

코드

import sys

input = sys.stdin.readline

l = int(input().strip())
a = input().strip()

sum = 0
r = 31
m = 1234567891

for i in range(l):
    # 'a'의 ASCII 값은 97이므로 1로 변환하기 위해 96을 뺌
    chv = ord(a[i]) - ord('a') + 1
    sum += chv * (r ** i)
    sum %= m  # 모듈러 연산 반복 수행으로 오버플로우 방지

print(sum)

 

'백준 문제 풀이 > 수학' 카테고리의 다른 글

1541 잃어버린 괄호 (python)  (0) 2024.07.06
1193 분수찾기 (python)  (0) 2024.07.02
11050 이항 계수 1 (python)  (0) 2024.06.26
2738 행렬 덧셈 (python)  (0) 2024.06.26
10989 수 정렬하기 3 (python)  (0) 2024.06.26