우당탕탕 파이썬 with 하루하나 알고리즘

백준 1330 파이썬 - if문을 통해 두 수 비교하기

hyxndy 2022. 3. 12. 09:02

백준 1330번 - 두 수 비교하기 with python

Q . 두 수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오. 

     첫째 줄에 A와 B가 주어진다. A와 B는 공백 한 칸으로 구분되어져 있다.

 

첫째 줄에 다음 세 가지 중 하나를 출력한다.

  • A가 B보다 큰 경우에는 '>'를 출력한다.
  • A가 B보다 작은 경우에는 '<'를 출력한다.
  • A와 B가 같은 경우에는 '=='를 출력한다.

먼저 이 문제의 핵심인 if문에 대해 다뤄보겠다.

<if 문의 기본 구조>

 

if 조건문:

   수행할 문장1

   수행할 문장2

elif 조건문:

   수행할 문장A

   수행할 문장B

else 조건문:

   수행할 문장@

   수행할 문장@@

 

if 속에 있는 조건문이 참이면 수행할 문장 1,2를 실행하고 if 속에 있는 조건문이 거짓이라면 다음 조건인 elif 속 조건문의 참/거짓 여부를 파악한다.

elif 속 조건문이 참이라면 수행할 문장A,B를 실행하고, 거짓이라면 else 조건문에 있는 수행할 문장@,@@를 실행한다.

 

여기서 하나 주의해주어야 할 점이 있다. 내가 저 조건문의 수행할 문장을 쓸 때 모두 들여쓰기를 해주었다.

if문 속 수행할 문장들은 모두 들여쓰기를 해주어야하며, 또한 그 문장들의 들여쓰기의 위치가 동일해야한다는 점이다.

만약, 아래와 같은 경우

if 조건문

   수행할 문장1

      수행할 문장2

처럼 두 문장의 들여쓰기가 동일하지 않을 경우 파이썬에서는 error가 발생한다.

 

들여쓰기를 해주는 방법에는 두가지가 있다. 공백(space bar)를 이용해 들여쓰기를 해주는 방법과, tab키를 이용해 들여쓰기를 하는 것이다. 이 두가지 모두 좋은 방법이라 사용자가 더 편하게 쓰는 방법을 택하면 된다. 하지만, 이 두가지를 혼용해서 사용하는 것은 추천하지 않는다.

 

또한, 조건문 뒤에 콜론(:)을 적어놓았는데, 빼먹지 않도록 주의를 바란다.

 

그럼 이제 문제를 풀어보자.

  • A가 B보다 큰 경우에는 '>'를 출력한다. 
  • A가 B보다 작은 경우에는 '<'를 출력한다.
  • A와 B가 같은 경우에는 '=='를 출력한다.

먼저 A와 B를 입력받아야 하므로 input함수와 split 함수, int함수를 통해 A,B를 받아온다.

A, B = map(int, input().split())

 

이제 조건문을 작성해보자.

세가지 조건 중 첫째 줄을 if문, 둘째 줄을 elif문, 셋째 줄을 else문으로 작성해보겠다.

 

먼저 A가 B보다 크다면(if) '>'를 출력해줘야하므로(결과)

if A > B:

   print(">")

처럼 작성하면 되고, 이와 같은 방식으로 둘째 줄, 셋째 줄까지 처리를 해주면

 

if A > B:

   print(">")

elif A < B:

   print("<")

if A == B:

   print("==")

 

처럼 작성해주면 된다.

 

비교연산자에 대해 알고싶다면

이 표를 참고하면 되겠다.

 

그럼 위에 코드를 실행시켜보겠다.

 

A와 B에 1과 2를 차례대로 넣으면 A=1, B=2로 할당된다.

A는 B보다 작으므로 <가 출력이 되어야 하는데 잘 출력되는지 코드를 통해 확인해보자

마지막에 <가 잘 나옴을 볼 수 있다,

 

그럼 이번엔 A에 10, B에 2를 넣어보자. 내가 작성한 코드가 맞다면 >가 출력될 것이다.

>가 잘 출력된다.

 

그럼 마지막으로, A에 5, B에 5를 넣어 '=='가 출력되는지 보도록 하자

잘 출력되는 것을 확인해볼 수 있다.