Notice
Recent Posts
문제 풀이 및 개발 공간
[백준] 15829번 Hashing (bronze 2 본문
import java.io.*;
import java.util.*;
import java.math.*;
public class Main{
public static void main(String[]args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
BigInteger[] temp=new BigInteger[51];
temp[0]=new BigInteger("1");
for(int i=1; i<51; i++){
temp[i]=new BigInteger("31");
temp[i]=temp[i].multiply(temp[i-1]);
}
int a=Integer.valueOf(br.readLine());
String text=br.readLine();
BigInteger answer=new BigInteger("0");
BigInteger re=new BigInteger("1234567891");
for(int i=0; i<a; i++){
String hash=String.valueOf(text.charAt(i)-'a'+1);
BigInteger mid=new BigInteger(hash);
answer=answer.add(temp[i].multiply(mid).remainder(re));
}
bw.write(answer.remainder(re)+"");
bw.flush();
}
}
'백준공부 > java' 카테고리의 다른 글
[백준] 31216번 슈퍼 소수 (silver 5 (0) | 2024.02.27 |
---|---|
[백준] 6588번 골드바흐의 추측 (silver 1 (0) | 2024.02.27 |
[백준] 2436번 공약수 (gold 5 (0) | 2024.02.27 |
[백준] 달팽이는 올라가고 싶다 (bronze 1 (0) | 2024.02.14 |
[백준] 18111번 마인크래프트 (silver 2 (2) | 2024.02.14 |