티스토리 뷰

반응형

https://www.acmicpc.net/problem/15829

 

15829번: Hashing

APC에 온 것을 환영한다. 만약 여러분이 학교에서 자료구조를 수강했다면 해시 함수에 대해 배웠을 것이다. 해시 함수란 임의의 길이의 입력을 받아서 고정된 길이의 출력을 내보내는 함수로 정

www.acmicpc.net

 


⊙ 문제

⊙ 입력

⊙ 출력

⊙ 예제 입출력

⊙ 알고리즘 분류

  • 해싱

 


 

⊙ 문제 접근 과정

 

아스키코드를 사용하여 문제를 풀면 된다. 순서대로 배열의 값을 불러온 후 자릿수에 따라 31의 제곱수를 결정해준다.

 

그렇게 계산한 값을 하나의 변수에 차례대로 더해주고 마지막에 퍼센트 연산자를 사용하여 1234567891을 계산하여 출력해주자.

 

 


 

⊙ 문제 풀이

 

L = int(input())
string = input()
result = 0

for i in range(L):
    result += (ord(string[i])-96) * (31 ** i)
print(result % 1234567891)

 


⊙ 결과

 


 

⊙ 마무리

 

 

NONE

 

 

좋아요는 로그인하지 않아도 누를 수 있습니다!

728x90
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함