https://www.acmicpc.net/problem/15552
15552번: 빠른 A+B
첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다.
www.acmicpc.net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
import java.io.*;
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());
for (int i = 0; i < n; i++) {
String s = br.readLine();
int a = Integer.parseInt(s.split(" ")[0]);
int b = Integer.parseInt(s.split(" ")[1]);
bw.write(a + b + "\n");
}
bw.flush();
}
}
|
cs |
Scanner 대신 BufferedReader, System.out.println 대신 BufferedWriter를 사용하여 입출력의 시간을 줄이는 문제이다.
위 반복문에서 매 반복마다 Scanner를 사용하여 입력을 받고, System.out.println을 사용하여 출력을 한다면 제한 시간을 초과할 것이다. 그렇기 때문에 Buffer 메소드를 이용해야 하는데 이 Buffer 메소드 역할은 매 반복에서 입력받은 값을 저장하고 있다가 한번에 처리할 수 있게 도와준다. 예를 들어 쇼핑할때 구매할 상품을 하나씩 계산대에 갖다 놓는 것 보다 카트에 넣어 한번에 계산대에 갖고 가는 것이 빠르다. 여기서 카트의 역할을 하는 것이 Buffer 메소드 이다.
'코테' 카테고리의 다른 글
[백준 / Python] 9020번 : 골드바흐의 추측 (0) | 2023.02.02 |
---|---|
[백준 / Python] 2563번 : 색종이 (0) | 2023.02.01 |
[백준 / Python] 4948번 : 베르트랑 공준 (1) | 2023.01.30 |
[백준 / Python] 1620번 : 나는야 포켓몬 마스터 이다솜 (0) | 2023.01.29 |
[백준 / Java] 2480번 : 주사위 세개 (0) | 2023.01.28 |