Notice
Recent Posts
Recent Comments
Link
관리 메뉴

윤일무이

[백준-Python] 4101번: 크냐? 본문

🥧 Python/⚙️ 코딩테스트

[백준-Python] 4101번: 크냐?

썸머몽 2023. 2. 15. 15:49
728x90
 

4101번: 크냐?

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

www.acmicpc.net

 

풀이

두 양의 정수가 주어졌을 때 첫 번째 수가 두 번째 수보다 큰지 판별하면 된다.

테스트 케이스가 주어지고 첫 번째 수가 두 번째 수보다 크면 Yes, 아니면 No를 출력하면 된다.

입력의 마지막 줄에는 0이 2개 주어진다. (이놈이 킥이다.)

 

테스트 케이스가 주어지면 무조건 T = int(input())으로 시작했는데 이 문제의 입력을 보면 그런 게 없다.

그냥 A, B 부터 주어도 된다. # A, B = map(int, input().split())

 

아니 근데 입력의 마지막 줄에는 0 0 이 주어진다니 이게 무슨 말일까?

내가 0 0 을 입력하기 전까지는 계속 입력할 수 있어야 하고,

0 0 을 입력하면 끝이 나야 하는 것이다.

 

이걸 어떻게 구현하나? 

while True로 구현하면 된다.

 

while True로 무한 루프를 걸고 A, B 에 0 0 을 입력하면 반복문을 벗어나게 된다.

 

단 이걸 else 밑에 걸면? 그 위 else 문에 걸려서 반복문을 벗어나지 않게 된다.

A > B 의 경우와 그렇지 않은 모든 경우 그리고 그 다음에 0, 0 일 경우를 걸면

두 번째 경우에 걸려서 안된다는 소리다.

 

코드

while True:
    A, B = map(int, input().split())
    if A == 0 and B == 0 :
        break
    if A > B :
        print('Yes')
    else :
        print('No')
728x90