문제 출처 https://www.acmicpc.net/problem/15552
내가 작성한 코드 - (1)
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine()); //int
for (int i=1; i<=n; i++) {
StringTokenizer st = new StringTokenizer(br.readLine()); //띄어쓰기 기준으로 쪼개서 저장
int a = Integer.parseInt(st.nextToken()); //첫번째 토큰
int b = Integer.parseInt(st.nextToken()); //두번째 토큰
System.out.println(a+b);
}
}
}
결과
접근 방법
이 문제는 시간 제한이 1초인데 사실 처음에 시간 제한 모르고 Scanner로 풀었다가 시간 초과로 통과하지 못했다. 그래서 BufferedReader와 StringTokenizer를 이용해서 풀었다.
여기서 잠깐!
Scanner
BufferedReader
StringTokenizer
내가 작성한 코드 - (2)
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
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));
int n = Integer.parseInt(br.readLine()); //int형으로 변환
for (int i=1; i<=n; i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
bw.write(Integer.parseInt(st.nextToken()) + Integer.parseInt(st.nextToken()) + "\n"); //출력
}
bw.flush(); //남아있는 데이터를 모두 출력
bw.close(); //스트림 닫음
}
}
결과
접근 방법
입출력이 바로 전달되지 않고 데이터를 저장했다가 한번에 출력하기 위해서 System.out.println대신에 BufferedWriter를 이용해보았다.
BufferedWriter