수행일자 : 2021.06.27
https://www.acmicpc.net/problem/15552
문제
- BufferedReader 와 BufferedWriter 를 사용하여라
입력
- 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다.
- 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다.
출력
- 각 테스트케이스마다 A+B를 한 줄에 하나씩 순서대로 출력한다.
입출력 예제
자바에서 가장 빠르게 입출력을 할 수 있는 방법은 BufferedReader 와 BufferedWriter 를 사용하는 것이다.
- BufferedReader 를 사용하려면 반드시 예외처리를 해야 하는데, 여기에는 try-catch와 throws IOException 을 사용하는 두가지 방법이 있다.
BufferedReader / BufferedWriter 에 대한 자세한 설명은 아래에 있다.
BufferedReader / BufferedWriter 를 사용해서 풀어볼 것이다.
선언할 변수는 다음과 같다.
- 테스트 케이스의 개수를 저장할 변수 [ T ]
BufferedReader / BufferedWriter 를 선언한 후에 테스트 케이스의 개수인 변수 T 를 선언한다.
for문을 선언하여 두 변수를 입력받고 합을 구해준다.
- StringTokenizer 와 readLine() 을 통해 띄어쓰기 기준으로 입력받을 변수를 구분해준다.
- BufferedWriter 로 값을 출력하기 위해서 write() 를 사용한다.
- 단, StringTokenizer 는 String 형태로 리턴되기에 int 형으로 형변환을 해주어야 한다.
for 문이 끝난 후에는 버퍼에 대한 마무리 처리를 해준다.
- flush() : 남아있는 데이터가 있으면 모두 출력한다.
- close() : 버퍼를 닫는다.
답안 소스
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 bf = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int T = Integer.parseInt(bf.readLine());
StringTokenizer st;
for(int i=0; i<T; i++) {
st = new StringTokenizer(bf.readLine()," ");
bw.write(Integer.parseInt(st.nextToken()) + Integer.parseInt(st.nextToken()) + "\n");
}
bf.close();
bw.flush();
bw.close();
}
}
'알고리즘 > 백준' 카테고리의 다른 글
[2742] 기찍 N (0) | 2021.06.28 |
---|---|
[2741]N 찍기 (0) | 2021.06.27 |
[8393]합 (0) | 2021.06.20 |
[10950]A+B-3 (0) | 2021.06.20 |
[2739]구구단 (0) | 2021.06.20 |