CODING TEST/baekjoon

#10951 - A+B - 4 / #10952 - A+B-5

iamyuunzo 2025. 7. 10. 22:14

📌 문제 정보

- 문제 이름 : #10951번 - A+B - 4 / #10952번 - A+B - 5

- 문제 링크: https://www.acmicpc.net/problem/10951    /    https://www.acmicpc.net/problem/109522

 

📌 문제 요약 (10951)

- 핵심 조건: 두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성

- 제한: 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)

 

 

📌 최종 정답 및 풀이

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        while(sc.hasNext()) {
            int A = sc.nextInt();
            int B = sc.nextInt();

            System.out.println(A+B);
        }

    }
}

<-- 풀이 요약 -->

- 처음 문제 풀 때 아래 문제랑 뭐가 다른지 잘 모르겠었다.

- 아래 문제는 00으로 끝남을 알렸지만, 이번 문제에는 끝났다는 신호가 없으므로 표준 입력이 끝나야 프로그램이 끝남.

- Scanner의 hasNextInt()로 다음 입력이 있는지를 계속 물어보면서 읽어야 함. (hasNext()도 맞다고 나오긴 했음..)

 


 

📌 문제 요약 (10952)

- 핵심 조건: 두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성

- 제한: 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 입력의 마지막에는 0 두 개가 들어온다

 

 

📌 최종 정답 및 풀이

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        while(true) {
            int A = sc.nextInt();
            int B = sc.nextInt();

            if (A == 0 && B ==0) {
                break;
            }
            System.out.println(A+B);
        }

    }
}

<-- 풀이 요약 -->

- 처음 문제 풀 때 입력 마지막에 0이 들어온다는게 무슨 말인지 몰랐음. (00을 만나면 프로그램이 종료됨.)

- 0 0이 종료되는 이유 : (0 < A, B < 10) 이라는 조건때문에 0을 만나면 정상 케이스가 아니기 때문에 끝 신호임.