1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class Problem15552 { public static void main(String[] args) throws NumberFormatException, IOException { run(); } public static void run() throws NumberFormatException, IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); int t = Integer.parseInt(br.readLine()); String[] temp = new String[2]; for(int i = 0; i < t; ++i) { temp = br.readLine().split(" "); bw.write(Integer.parseInt(temp[0]) + Integer.parseInt(temp[1]) + "\n"); } bw.flush(); } } | cs |
BufferedReader 의 생성자의 매개변수에는 Reader 클래스의 서브 클래스만 올 수 있다.
그런데 표준 입력 스트림인 System.in 은 InputStream 클래스의 서브 클래스이므로
Reader 클래스의 서브 클래스로 바이트 기반 스트림(XXXStream)을 문자 기반 스트림(XXXReader)로 변환하는 InputStreamReader 객체를 BufferedReader 의 생성자의 매개변수로 준다.
BufferedWriter 도 같은 맥락.
BufferedReader 의 readLine 메소드는
String 클래스의 split 메소드는 매개값으로 받은 문자열을 구분자로 해 구분된 문자열들을 String 배열로 반환한다.
입력의 형태는 숫자 숫자로 정해져 있으므로 split(" ") 으로 구분해 temp 에 저장한 다음
temp[0] 과 temp[1] 을 정수로 변환해 더한 후 출력한다.
'Programming > Solutions' 카테고리의 다른 글
[Project Euler] Problem 037 (0) | 2019.07.25 |
---|---|
[BAEKJOON] 2747번 (0) | 2019.06.18 |
[BAEKJOON] 10828번 (0) | 2019.06.17 |
[Project Euler] Problem 024 (0) | 2019.05.19 |
[BAEKJOON] 9020번 (0) | 2019.05.17 |