문제
코드
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 |