문제
https://www.acmicpc.net/problem/15829
15829번: Hashing
APC에 온 것을 환영한다. 만약 여러분이 학교에서 자료구조를 수강했다면 해시 함수에 대해 배웠을 것이다. 해시 함수란 임의의 길이의 입력을 받아서 고정된 길이의 출력을 내보내는 함수로 정
www.acmicpc.net
내가 작성한 코드
import java.io.*;
import java.math.BigInteger;
public class qor15829 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int length = Integer.parseInt(br.readLine());
String sentence = br.readLine();
BigInteger result = new BigInteger("0");
BigInteger M = new BigInteger("1234567891");
BigInteger r = new BigInteger("31");
for(int i = 0; i<length; i++){
BigInteger a = new BigInteger(sentence.charAt(i)-96+"");
for(int j = 0; j<i; j++){
a = a.multiply(r);
}
result = result.add(a.mod(M));
}
bw.write(result.mod(M)+"");
bw.close();
}
}
BigInteger 오랜만에 썼다
'자바 > 백준' 카테고리의 다른 글
[백준 10989] 수 정렬하기 3 (0) | 2022.12.01 |
---|---|
[백준 2292] 벌집 (0) | 2022.12.01 |
[백준 2839] 설탕 배달 (0) | 2022.11.28 |
[백준 1436] 영화감독 숌 (0) | 2022.11.28 |
[백준 11651] 좌표 정렬하기 2 (1) | 2022.11.28 |