홍우진의 개발 일기장
[백준] 15829번: Hashing / 파이썬 본문
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
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 11050번: 이항 계수 1 / 파이썬 (2) | 2024.12.03 |
---|---|
[백준] 10989번: 수 정렬하기 3 / 파이썬 (0) | 2024.12.02 |
[백준] 2231번: 분해합 / 파이썬 (0) | 2024.11.30 |
[백준] 30802번: 웰컴 키트 / 파이썬 (1) | 2024.11.30 |
[백준] 4153번: 직각삼각형/ 파이썬 (0) | 2024.11.28 |
Comments