코딩테스트

[백준/JAVA] 15552 빠른 A+B (BufferedWriter)

코드사냥꾼 2021. 4. 27. 10:36

문제

이전 A+B-3 문제와 똑같지만 시간 제한이 존재한다. 따라서, 문제에서 언급한 BufferedReader와 BufferedWriter를 사용해서 풀어야한다.

 

여기서 잠깐🖐

BufferedWriter?

BufferedWriter는 BufferedReader와 함께 빠른 입출력 퍼포먼스를 낸다. 사용하는 방법은 다음과 같다.

// BufferedWriter 선언
BufferedWriter br = new BufferedWriter(new OutputStreamWriter(System.out));

// 출력할 문자열
String str = "abcdef";

// 출력
bw.write(str);

// 줄바꿈
bw.newLine();

// 버퍼에 남아있는 모든 데이터 출력
bw.flush();

// 닫기
bw.close();

BufferedWriter의 경우 반드시 flush()와 close()를 호출해서 제대로 끝마쳐야한다.

 

풀이

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++) {
            // 두 정수의 문자열 분리를 위해 매 반복마다 사용한다. 공백을 기준으로 나눔
            // 반환되는 타입은 String
            st = new StringTokenizer(br.readLine(), " ");
            bw.write((Integer.parseInt(st.nextToken()) + Integer.parseInt(st.nextToken()))+"\n");
        }
        br.close();
        
        // bw 변수에 담은 데이터 출력
        bw.flush();
        bw.close();
    }
}

 

 

www.acmicpc.net/problem/15552

 

15552번: 빠른 A+B

첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다.

www.acmicpc.net

 

'코딩테스트' 카테고리의 다른 글

[백준/JAVA] 11021 A+B-7 (StringTokenizer)  (0) 2021.04.27
[백준/JAVA] 2741 N찍기  (0) 2021.04.27
[백준/JAVA] 10950번 A+B-3  (0) 2021.04.27
[백준/JAVA] 2884 알람 시계  (0) 2021.04.27