빠른 A+B
07 June 2019
문제 : https://www.acmicpc.net/problem/15552
이번은 BufferedReader와 BufferedWriter 활용 문제를 풀어보겠습니다.
import java.io.*;
public class Main {
public static void main(String args[]) throws IOException {
try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(System.out))) {
int size = Integer.parseInt(reader.readLine());
for (int i = 0; i < size; i++) {
String[] line = reader.readLine().split(" ");
int value = Integer.parseInt(line[0]) + Integer.parseInt(line[1]);
writer.write(String.valueOf(value) + "\n");
}
writer.flush();
}
}
}
Java를 사용할 때 속도의 문제로 Scanner와 System.out.println 대신 BufferedReader와 BufferedWriter를 사용할 수 있습니다.이 때 BufferedWriter.flush는 맨 마지막에 한 번만 하면 됩니다.
위 코드에서는 실제 활용적인 측면에서 try-with-resources를 사용하였는데, 실제 속도로는 try문 선언으로 인해 불리한 점이 있는 듯합니다.
try-with-resources 관련 내용은 아래 url에서 확인할 수 있습니다.
https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html