728x90
반응형
문제
정답 코드
import java.io.*;
import java.util.StringTokenizer;
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));
StringTokenizer st;
while(true) {
st = new StringTokenizer(br.readLine(), " ");
int num1 = Integer.parseInt(st.nextToken());
int num2 = Integer.parseInt(st.nextToken());
int sum = 0;
if(num1 == 0 && num2 == 0)
break;
sum = num1 + num2;
bw.write(sum + "\n");
}
br.close();
bw.flush();
bw.close();
}
}
BufferedReader는 공백을 라인 기준으로 인식하기 때문에
공백을 기준으로 인식하게 하기 위해서는 StringTokenizer 혹은 split이 필요해요!
split을 사용할 경우에는 배열로 입력을 받아서
공백을 기준으로 값을 나눠서 각각 저장하고 더한 값을 출력하면 됩니다!
StringTokenizer
StringTokenizer은 새로운 개념이기도 하고 성능도 더 좋아서 이번 기회에 공부해봤는데요
String : 문자열을 + Tokenizer : 토큰화 한다
즉, 토큰(분리된 문자열 조각)을 여러 개의 토큰으로 분리해주는 친구입니다!
사용법
// 방법1 : 띄어쓰기 기준으로 문자열을 분리
StringTokenizer 이름 = new StringTokenizer(문자열);
// 방법2 : 구분자를 기준으로 문자열을 분리
StringTokenizer 이름 = new StringTokenizer(문자열, 구분자);
// 방법3
// 구분자를 기준으로 문자열을 분리할 때 구분자도 토큰으로 넣을지 (true) 결정
// 디폴트값은 false
StringTokenizer 이름 = new StringTokenizer(문자열, 구분자, true|false);
728x90
반응형
'Computer Science (CS) > 알고리즘' 카테고리의 다른 글
[백준/Java] 10807번 개수 세기 (0) | 2023.03.03 |
---|---|
백준/Java] 10951번 A+B -4, EOF (End of File) (0) | 2023.03.03 |
[백준/Java] 2439번 별 찍기 -2 (0) | 2023.03.02 |
[백준/Java] 2438번 별 찍기 -1 (0) | 2023.03.02 |
[백준/Java] 11021번 A+B -7, 11022번 A+B -8 (0) | 2023.03.02 |