https://blog.naver.com/jihogrammer/222314445259
[Java] System.in.read() - 3
다시 작성하지 않을라 했는데, 심심해서 작성한다. 알고리즘 문제 풀 때 최적화된 형태를 정리한다. 보통 ...
blog.naver.com
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.StringTokenizer;
public class Main {
public static void main(String arg[]) throws Exception {
int M = read();
int N = 1234567891;
byte[] a = new byte[M];
System.in.read(a);
long sum = 0;
long pow = 1;
for(int i = 0; i < M; i++) {
int temp = a[i] - 96;
sum += temp * pow;
pow = (31 * pow) % N;
}
System.out.println(sum%N);
}
private static int read() throws Exception {
int c, n = System.in.read() & 15; //15 = 1111 한자리 숫자는 여기만 읽으면 된다. 48 = 110000 & 001111 = 0 49 = "1" = 110001 & 001111 = 000001 = 1
while((c = System.in.read()) > 32) {
n = (n << 3) + (n << 1) + (c & 15); //n << 1 = n * 2 n << 2 = n * 4 n << 3 = n * 8 n * 10 = (n * 8) + (n * 2)
}
if(c == 13) System.in.read();
return n;
}
}
'백준' 카테고리의 다른 글
[백준] 10827 a^b [자바] (0) | 2022.02.09 |
---|---|
[백준] 9251 LCS [자바] (0) | 2022.01.28 |
[백준] 3090 차이를 최소로 [자바] (0) | 2022.01.25 |
[백준] 2585 경비행기 [자바] (0) | 2022.01.19 |
[백준] 1939 중량제한 [자바] (0) | 2022.01.17 |