백준 01330번 / 1330번 문제 링크
문제 이름 : 두 수 비교하기
주 언어 : Python
태그 : 구현
solved.ac 등급 : Bronze V (새싹) (2023/04/27 확인)
문제 보기
문제 :
두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오.
입력 :
첫째 줄에 A와 B가 주어진다. A와 B는 공백 한 칸으로 구분되어져 있다.
출력 :
첫째 줄에 다음 세 가지 중 하나를 출력한다.
A가 B보다 큰 경우에는 '>'를 출력한다.
A가 B보다 작은 경우에는 '<'를 출력한다.
A와 B가 같은 경우에는 '=='를 출력한다.
입력 방법과 if문의 사용 방식에 관한 문제입니다.
먼저 짚고 넘어갈 것은, A가 B보다 큰 경우, A가 B보다 작은 경우, A와 B가 같은 경우 3가지 경우 중, 한 가지 경우는 반드시 일어나며, 두 가지 이상의 경우가 동시에 일어나지 않습니다. (실수의 삼분법, Law of Trichotomy)
따라서 if문만 3번 사용하더라도 틀리지 않습니다.
입력은 A, B = map(int, input().split()) 으로 받을 수 있는데, A, B = input().split()을 하고 A = int(A), B = int(B)를 하는 것과 동일합니다.
input()으로 한 줄 "1 2" 같은 문자열을 통째로 받아오고, split() 함수로 공백 단위로 나누어서 ["1", "2"] 상태가 되고, map 함수로 ["1", "2"]를 int형 변환 함수를 거쳐서 A, B에 할당해주는 것이라 생각하시면 됩니다.
또, if문만 3번 사용하는 대신 if-elif-else 문으로 처리할 수도 있습니다.
예를 들어, A > B인 것을 알게 되었다면 굳이 A == B인지 물어볼 필요도 없고, A < B인지 물어볼 필요도 없기 때문입니다.
A가 B보다 크지도 않고 작지도 않으면 같다는 것이기 때문에 (위에서 이야기한 실수의 삼분성) else까지 오면 같다는 상태를 표현합니다.
이 문제는 solved.ac Class 1 에 수록된 문제입니다.
다른 문제도 같이 풀어보시는걸 추천드립니다.
Class 1 문제 모음