PS/Baekjoon Online Judge

[백준 15829] Hashing [C]

kimyoungrok 2021. 7. 25. 17:20
728x90

백준 - 15829


풀이

백준 - 15829

힌트를 보면 쉽게 이해할 수 있다.

단, long long 데이터 형식의 범위를 초과하는 것을 방지하기 위해 중간 계산과정에서 MOD로 나눈 나머지를 저장했다.


 소스코드

#include <stdio.h>
#define MOD 1234567891
int main(){
    char str[51];
    long long result = 0, r = 1;
    int L;
    scanf("%d %s", &L, str);
    for (int i = 0; i < L; i++){
        result = (result + (str[i]-'a'+1) * r) % MOD;
        r = (r*31) % MOD;
    }
    printf("%lld", result);
}

출처

 

15829번: Hashing

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

www.acmicpc.net

728x90