백준 15829(Hashing)-Python(파이썬)
반응형
* mod M : 모듈러 연산으로 시그마로 계산한 연산을 M으로 나눈 나머지를 의미 = %와 동일( 단, 나머지는 양수 )
ex ) 17 mod 3
17 = 3*5+1 이므로 17 mod 3 = 1
-14 mod 5
-14 = 5* ( - 3) +1이므로 -14 mod 5 = 1
자바(Java) 풀이
자바의 경우 overflow 문제가 있어서 Math.pow를 사용하지 못하는 문제점이 있었지만 Python에서는
L = input()#문자열 길이
M=1234567891
s = input()
sum=0
for i in range(len(s)):
num = ord(s[i])-96
sum +=num*(31**i)
print(sum%M)
L = input()#문자열 길이
M=1234567891
s = input()
sum=0
for i in range(len(s)):
num = ord(s[i])-96
sum +=num*(pow(31,i))
print(sum%M)
반응형
'[백준] Python,Java로 풀기📖 > 문자열' 카테고리의 다른 글
백준 1296(팀 이름 정하기 ) - Python(파이썬) - 문자열 (0) | 2022.06.01 |
---|---|
백준 9012(괄호) - Python(파이썬) - 문자열 (0) | 2022.05.27 |
백준 1120(문자열) - Python(파이썬) (0) | 2022.05.27 |
백준 1920( 수 찾기 ) - Python(파이썬) (0) | 2022.05.13 |
백준 6198(옥상 정원 꾸미기 ) - Stack , Python (0) | 2022.05.13 |