728x90
반응형
구현 언어: 파이썬
n = int(input())
string = input()
answer = 0
for i in range(n):
answer += (ord(string[i]) - 96) * (31 ** i)
print(answer % 1234567891)
시도 횟수: 1
구현 포인트:
문제가 길었지만 시키는대로 식을 적으면 풀 수 있는 문제였다.
ord를 통해 문자를 아스키코드로 변환하는데, 이때 a의 아스키코드가 97이므로, 이를 1로 만들기 위해 96을 빼준다.
그 후 r의 값으로 주어진 31에 i를 제곱하고, 이 두 수를 곱해 answer에 누적해서 더해준다.
그 후 이 수와 1234567891을 mod 연산해주면 된다.
728x90
반응형
'Archive > BOJ' 카테고리의 다른 글
백준 10989번: 수 정렬하기 3 (0) | 2021.02.18 |
---|---|
백준 7568번: 덩치 (0) | 2021.02.18 |
백준 11723번: 집합 (0) | 2021.02.14 |
백준 10816번: 숫자 카드 2 (0) | 2021.02.14 |
백준 9012번: 괄호 (0) | 2021.02.14 |