본문 바로가기

[BAEKJOON] 15552번



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