문자열/Hashing

Q·2021년 8월 1일
0

알고리즘/백준

목록 보기
6/70

문제 설명


전체 코드

import sys

input = sys.stdin.readline

l = int(input())
s = input().strip('\n')

dic = {}
num = 1
for i in range(97,123):
    dic[chr(i)] = num
    num += 1

result = 0
for i in range(len(s)):
    result += (dic[s[i]])*(31**i)    

print(result % 1234567891)

해결 방법

해쉬와 구현에 관한 문제이다. 문제에 나온 그대로 구현하면 된다. 먼저 a~z를 dic의 key로 1~26을 value로 넣어주고 31을 길이만큼 지수승으로 곱해서 더해준 뒤에 결과에 % 1234567891를 하고 print하면 된다.

profile
Data Engineer

0개의 댓글