풀이 힌트를 보면 쉽게 이해할 수 있다. 단, long long 데이터 형식의 범위를 초과하는 것을 방지하기 위해 중간 계산과정에서 MOD로 나눈 나머지를 저장했다. 소스코드 #include #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에 온 것을 환영한다. 만약 여러분이 학교에서 자료구조를 수강했다면 ..