티스토리 뷰
[Python] 백준 알고리즘 온라인 저지 1330번 : 두 수 비교하기
Python3 코드
1) if조건식 코드
A,B = map(int,input().split())
if A > B:
print('>')
elif A < B:
print('<')
else:
print('==')
2) 삼항 연산자 코드
A,B = map(int,input().split())
print('>') if A > B else print('<') if A < B else print('==')
Python3 코드 풀이
1. 문제를 풀었던 방법의 전체적인 내용 요약정리
이번 문제는 조건에 대한 Boolean 값에 따라 출력 값이 달라지는 문제이다. 즉 조건에 대해서 True일 때 출력 값과 False일 때의 출력 값이 달라지는 것이다. 그래서 Boolean 값에 따라 다른 결괏값을 반환하는 if조건식을 사용해서 문제를 풀었고 if 조건식을 간편하게 한 줄로 작성할 수 있는 삼항 연산자로도 작성해 보았다.
2. 우선 두 수를 입력받는 코드를 작성한다.
A,B = map(int,input().split())
이 문장은 백준 알고리즘 단계별 문제를 처음부터 푸신 분들은 익숙한 문장일 것 같다. 수학의 사칙연산에서 두 개의 수를 입력받아서 나눌 때 사용하던 문장이다.
이번 문제도 두 개의 수를 입력받는다. 두 개의 수는 가운데에 공백을 포함한 하나의 문자열로 입력받게 된다. 이 문자열을 input 함수로 입력받고 split 함수로 나눌 때 괄호에 아무것도 입력하지 않으면 공백을 기준으로 문자를 나눌 수 있다. 그리고 map 함수를 이용해서 split 함수로 나눈 두 개의 문자를 int타입인 정수로 변환시켜 준다. 두 개의 정수는 튜플(tuple)의 성질을 이용하여 A, B 변수에 각각 선언한다.
3. if - elif - else 조건식 코드를 작성한다.
if A > B:
print('>') # if 조건식이 참일 때 문장
elif A < B:
print('<') # if조건식이 참이 아닌경우 elif 조건식이 참일 때 문장
else:
print('==') # 위의 모든 조건이 거짓일 때 문장
if 조건식은 if 조건식만 작성할 수도 있고 if-else 조건식을 쓸 수도 있고 if - elif - else 조건식을 사용할 수도 있다. 이번 코드에선 if - elif - else 모두 사용한 조건식을 작성하였다. if 조건식 아래에는 if 조건식이 참일 때의 문장을 쓰고 elif조건식 아래에는 if 조건식이 참이 아닌 경우 elif 조건식이 참일 때의 문장을 써준다. 그리고 else 조건식에는 위의 모든 조건이 거짓일 때의 문장을 써주면 된다.
4. 삼항 연산자 코드로 작성하는 방법
print('>') if A > B else print('<') if A < B else print('==')
삼항 연산자 코드를 작성하면 if조건식을 한 줄로 간편하게 작성할 수 있어서 편리하다. 이번 문제는 elif 조건식이 들어가야 하기 때문에 중첩 삼항 연산자 코드로 작성했다. 중첩 삼항 연산자의 코드 작성법은 아래와 같다.
조건식 1이 참일 때 값 if 조건식 1 else [ 조건식2가 참일 때 값 if 조건식2 else 조건식이 모두 거짓일 때 값 ]
삼항 연산자에 대해선 작성법과 사용 예시를 이전 포스팅에서 정리해둔 내용이 있다. 혹시 필요하실 분을 위해 링크를 걸어둔다. ▶삼항 연산자 설명
'파이썬 스킬업 > 백준 알고리즘 연습' 카테고리의 다른 글
백준 9498번 [파이썬 알고리즘] 시험성적 (0) | 2020.07.02 |
---|---|
백준 2588번 [파이썬 알고리즘] 곱셈 (1) | 2020.07.01 |
백준 10430번 [파이썬 알고리즘] 나머지 (1) | 2020.07.01 |