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
'🥧 Python > ⚙️ 코딩테스트' 카테고리의 다른 글
[백준-Python] 3009번: 네 번째 점 (3) | 2023.02.16 |
---|---|
[백준-Python] 10156번: 과자 (0) | 2023.02.16 |
[백준-Python] 2480번: 주사위 세개 (2) | 2023.02.15 |
[백준-Python] 10039번: 평균 점수 (0) | 2023.02.15 |
[백준-Python] 2753번: 윤년 (0) | 2023.02.15 |