코딩 테스트

[코딩테스트] 백준 15552번: 빠른 A+B

dev.jelee 2025. 5. 14. 02:33

# 문제

  • 주소: https://www.acmicpc.net/problem/15552
  • BufferedReader와 BufferedWriter를 사용하여 정수 A, B 입력 받은 뒤, 둘의 합을 한줄에 하나씩 순서대로 출력하기.

 

# 코드

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

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 T = Integer.parseInt(br.readLine());

    for (int i = 0; i < T; i ++) {
      String[] strs = br.readLine().split(" ");
      int A = Integer.parseInt(strs[0]);
      int B = Integer.parseInt(strs[1]);
      int sum = A + B;
      
      bw.write(sum + "\n");
    }
    
    bw.flush();
    bw.close();
  }
}

 

# 입/출력 결과

 

# 과정

  1. BufferedReader + InputStreamReader 클래스를 사용하여 입력값 받기.
  2. BufferedWriter + OutputStreamWriter 사용해서 출력하기.
  3. int T에 몇 개 출력할지 입력값 받아서 저장.
  4. for문 사용.
    • : 조건식은 int i = 0; i < T; i++; 로해서 T만큼 반복시키기.
    • : String[] strs로 공백 기준으로 나누어서 입력 받은 값 저장.
    • : 각각 int A와 int B에 strs에 저장된 값들 숫자형으로 변환해서 저장.
    • : int sum에 A와 B를 더한 값 저장.
    • : bw.write()를 사용하여 sum에 있는 값 모아두기. 이때 꼭 "\n" 유니코드 줄바꿈 작성해줘야 함.
  5. bw.flush() 필수 작성. 이때 bw에 임시로 저장된 데이터를 출력하고 데이터를 비워주는 작업.
  6. bw.close() 작성해서 종료하기.

 

# 느낀 점

  • System.out.println() 으로 출력했었는데, BufferedWriter로 출력을 하자니 어색했다. 그래도 새로운 것을 알게되어서 재밌었다.
  • 그리고 BufferedReader.write()를 사용하는 것은 출력하기 전, 데이터를 모아두는 것이고, BufferedReader.flush()가 출력과 함께 데이터를 비우는 작업이라는 것을 알게되었다.