Solved.ac - Python/Bronze V
[파이썬/Python] 백준 4101번 크냐?
ImJay
2022. 9. 27. 10:24
반응형
[파이썬/Python] 백준 4101번 크냐?
4101번: 크냐?
입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 두 정수가 주어진다. 두 수는 백만보다 작거나 같은 양의 정수이다. 입력의 마지막 줄에는 0이
www.acmicpc.net
문제
두 양의 정수가 주어졌을 때, 첫 번째 수가 두 번째 수보다 큰지 구하는 프로그램을 작성하시오.
코드
while True:
n, m = map(int, input().split())
if n == 0 and m == 0:
break
print("Yes") if n>m else print("No")
풀이
1. n, m 값을 입력 받습니다.
n, m = map(int, input().split())
2. 입력은 여러 개의 테스트 케이스로 이루어져 있으므로, while True 를 통해 무한루프를 돌려줍니다.
while True:
n, m = map(int, input().split())
3. 입력의 마지막 줄에는 0이 두 개 주어지므로, n과 m이 0과 일치할 경우 break 문을 통해 루프를 탈출시켜줍니다.
if n == 0 and m == 0:
break
4. 삼항연산자를 통해 n이 m보다 클 경우 Yes를, 작거나 같을 경우 No를 출력합니다.
print("Yes") if n>m else print("No")
- 삼항 연산자(Ternary operators) : (참인 경우 값) if (조건) else (거짓인 경우 값)
n, m = map(int, input().split())
if n == 0 and m == 0:
break
print("Yes") if n>m else print("No")
- if 문을 입출력 중간에 넣은 이유는 입력의 마지막으로 0 0이 주어질 경우 아무것도 출력하지 않기 때문입니다.
느낀 점
번외로 python에서 is와 ==의 차이가 무엇인지 알게 되었다.
평소 파이썬에서 습관처럼 is를 사용하다가 이번 문제에서 컴파일 에러가 났었는데,
is는 변수의 Object(객체)가 같을 때 True를 리턴하기 때문에,
즉 object 끼리는 크고 작음을 비교할 수 없기 때문에
변수의 Value(값)이 같을 때 True를 리턴해주는 == 연산자를 사용해야 했다.

반응형