코딩 공부를 하면서, 백준에서 나와서 배운 것들을 정리할 겸 쓰게 되었다.
하면서 느끼는건데 많이 부족한 것을 느낀다. 얼른 따라가야지 배워야겠다.
# Example
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
StringTokenizer tk = new StringTokenizer(str, " ");
int A = Integer.parseInt(tk.nextToken());
int B = Integer.parseInt(tk.nextToken());
위 예제로 하나씩 설명하겠다.
# BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
입출력의 끝판왕.
이것과 비교할 수 있는 것은
Scanner in = new Scanner(System.in) 이 있는데, 이것 보다
메모리가 적고, 속도가 빠름.
버퍼 리더를 사용하자.
담아놓은 것을 가져오는법은 br.readLine
# StringTokenizer
,로 된 문자열이던가, ! , - , _ 등 으로 된 문자열 나눌때 사용함.
위 예제
StringTokenizer tk = new StringTokenizer(str, " ");
이것은 가져온 str 즉 콘솔에 입력된 값을 " " 기준으로 가져와라는 뜻이다.
StringTokenizer st = new StringTokenizer(문자열) -> 띄어 쓰기 기준으로 문자열을 분리함.
StringTokenizer st = new StringTokenizer(문자열, 구분자); -> 구분자를 기준으로 문자열을 분리함.
StringTokenizer st = new StringTokenizer(문자열, 구분자, true/false); -> 구분자를 기준으로 문자열을 분리할 때 해당
분리 된 것을 가져오는 법은
st.nextToken() 으로 가져올 수 있음.
# BigInteger
일반 정수는 int로 사용하면 되지만,
int는 자릿수가 10자리 밖에 안됨. 그래서
999자리 등 10의 10승 등의 숫자를 가져올려면
BigInteger을 사용해야함.
BigInteger A = new BigInteger(br.readLine());
BigInteger B = new BigInteger(br.readLine());
으로 사용함. 위의 예제에서 사용하려면
BigInteger A = new BigInteger(tk.nextToken());
BigInteger B = new BigInteger(tk.nextToken());
으로 사용하면 됨.
BigInteger은
System.out.println(A+B); 같이 안먹힘.
그래서 특유의 문법을 사용해야되는데,
흔히 쓰는 것
A + B = A.add(B)
A - B = A.subtract(B)
A * B = A.multiply(B)
A / B = A.divide(B)
A % B = A.remainder(B)
로 사용한다.