코딩 테스트

[코딩테스트] 백준 10952번: A+B - 5

dev.jelee 2025. 5. 16. 14:08

# 문제

 

# 코드

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)); 

    String[] strs;
    int A, B;
    
    while (true) {
      strs = br.readLine().split(" ");
      A = Integer.parseInt(strs[0]);
      B = Integer.parseInt(strs[1]);

      if (A == 0 && B == 0) break; // 입력값이 두개다 0이면 멈추기.
      bw.write((A + B) + "\n");
  
    }
    bw.flush();
    bw.close();
    br.close();
  }
}

 

# 입/출력 결과

 

# 과정

  1. BufferedReader + InputStreamReader 클래스를 사용하여 입력값 받기.
  2. BufferedWriter + OutputStreamWriter 사용해서 출력하기.
  3. Strs[] strs, int A, int B 선언만 하기.
  4. while문 사용하여 계산
    • : 조건식은 true로 하여 무한으로 반복할 수 있게 하기.
    • : strs는 입력 받는 값을 공백 기준으로 나누어서 저장하기.
    • : A와 B에 각각 strs의 값을 저장.
    • : if문을 사용하여 A와 B의 값이 0이면 멈추기. (while문 바깥으로)
    • : .write()를 사용하여 A와 B이 합을 모아두기.
  5. while문 밖에서 .flush()를 사용하여 출력하고 데이터 비우기.
  6. br과 bw 각각 close 해주기.

 

# 느낀 점

  • 처음에 문제를 보고 쉽겠다 생각했는데 생각해보니 반복문으로 입력값을 쭉 입력 받다가 두 입력값이 0이면은 그만 입력이 받아지고 출력이 되는 것을 알게 되었다. if문만 계속 떠올라서 생각하다가. while문을 사용하면 좋을 거 같다고 생각했다.
  • if문 사용 안하고 while문 조건식으로만 하려고 하다가 중간에 코드를 잘못 작성해서 무한 출력이 되게 만들어서 당황했다. 그래서 명확하게 if문 사용해서 입력값이 둘다 0이면 break를 줘서 while문 밖으로 나가도록 하는 게 좋겠다 생각했다.