백준 크냐?

KIMYEONGJUN·2024년 12월 24일
0
post-thumbnail

문제

내가 생각했을때 문제에서 원하는부분

입력은 여러 개의 테스트 케이스로 이루어져 있다.
각 테스트 케이스는 한 줄로 이루어져 있으며, 두 정수가 주어진다.
두 수는 백만보다 작거나 같은 양의 정수이다.
입력의 마지막 줄에는 0이 두 개 주어진다.

각 테스트 케이스마다, 첫 번째 수가 두 번째 수보다 크면 Yes를, 아니면 No를 한 줄에 하나씩 출력한다.

내가 이 문제를 보고 생각해본 부분

BufferedReader를 이용해서 입력을 받는다.
StringBuilder를 선언해준다.
while 반복문을 사용해서 반복해준다.
그리고 사용자로부터 한 줄의 입력을 읽어준다.
입력된 줄을 공백으로 분리하여 StringTokenizer를 사용해 각각의 정수를 추출해준다.
N과 M에 첫 번째와 두 번째 정수가 저장한다.
종료 조건 확인:
두 정수가 모두 0이면 루프를 종료한다.
비교 및 결과 저장:
N이 M보다 크면 "Yes"를, 그렇지 않으면 "No"를 StringBuilder에 추가시켜준다.
그리고 StringBuilder에 저장된 모든 결과를 한 번에 출력해준다.

코드로 구현

package baekjoon.baekjoon_25;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

// 백준 4101번 문제
public class Main878 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();

        while(true) {
            String line = br.readLine(); // 한 줄의 입력을 읽음
            StringTokenizer st = new StringTokenizer(line); // 읽은 줄을 공백으로 분리하여 StringTokenizer로 처리
            int N = Integer.parseInt(st.nextToken()); // 첫 번째 정수 N
            int M = Integer.parseInt(st.nextToken()); // 두 번째 정수 M

            if(N == 0 && M == 0) { // 두 수가 모두 0이면 반복 종료
                break;
            }

            // N이 M보다 크면 "Yes"를, 그렇지 않으면 "No"를 StringBuilder에 추가
            if(N > M) {
                sb.append("Yes\n"); // 결과에 추가
            } else {
                sb.append("No\n"); // 결과에 추가
            }
        }

        System.out.print(sb.toString()); // 한 번에 출력
        br.close();
    }
}

마무리

코드와 설명이 부족할수 있습니다. 코드를 보시고 문제가 있거나 코드 개선이 필요한 부분이 있다면 댓글로 말해주시면 감사한 마음으로 참고해 코드를 수정 하겠습니다.

profile
Junior backend developer

0개의 댓글

관련 채용 정보