코딩테스트/백준
BufferedWriter (백준 15552번)
까루카라
2024. 1. 4. 10:25
import java.io.*;
import java.util.StringTokenizer;
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());
StringTokenizer st;
for (int i = 0; i < n; i++) {
st = new StringTokenizer(br.readLine());
int sum = Integer.parseInt(st.nextToken()) + Integer.parseInt(st.nextToken());
bw.write(sum + "\n");
// 버퍼에 모아놨다가 출력
}
bw.close();
}
}
BufferedWriter는 write 할때마다 바로바로 쓰는게 아니라 입력받은 값들을 버퍼에 저장해놓고 있다가 close할 때 한번에 출력해줌
위의 코드를 System.out.println으로 사용하면 입력받을 때마다 출력이 되어서 수정해야 함. 예를 들면 위의 코드는
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
int[] A = new int[n];
int[] B = new int[n];
String s;
StringTokenizer st;
for (int i = 0; i < n; i++) {
s = br.readLine();
st = new StringTokenizer(s);
A[i] = Integer.parseInt(st.nextToken());
B[i] = Integer.parseInt(st.nextToken());
}
for (int i = 0; i < n; i++) {
System.out.println(A[i] + B[i]);
}
}
}
이런식으로 배열을 생성해서 입력 받은 값을 저장했다가 새로운 for문을 만들어 한번에 처리해주어야 한다.