본문 바로가기
코딩알고리즘/백준

[PYTHON/백준] 1330번 두수 비교하기

by 원쿤짱쿤 2022. 9. 5.
반응형

 

1330번 두수 비교하기

 

두 수 비교하기

문제

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

입력

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

출력

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

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

제한

  • -10,000 ≤ A, B ≤ 10,000

예제 입력 1 복사

1 2

예제 출력 1 복사

<

예제 입력 2 복사

10 2

예제 출력 2 복사

>

예제 입력 3 복사

5 5

예제 출력 3 복사

==

 

답안 및 해석

 

<답안>

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

if A > B:
    print('>')
elif A < B:
    print('<')
else:
    print('==')

 

<해석>

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

두개의 수 가운데 공백을 포함한 하나의 문자열을 입력받도록한다.

문자를 input 함수로 입력받고 split 함수를 통해 문자열을 나눈다.
split 함수 괄호에 아무것도 입력하지 않으면 공백을 기준으로 나누게된다.
그리고 map 함수를 통해 split함수로 나눈 두개의 문자를 int타입인 정수고 변환시켜준다.
두개의 정수는 tuple의 성징을 이용하여 A,B 변수에 각각 선언한다.
if A > B:
    print('>')
elif A < B:
    print('<')
else:
    print('==')

이후 IF문을통해 각 조건별로 값을 넣어준다.

 

 

타 답안 및 해석

 

<답안>

A, B = map(int, input().split())
print(['><'[A<B], '=='][A==B])

 

<해석>

print(['><'[A<B], '=='][A==B])

리스트의 인덱스를 통해 해결하는 방식이다.

print문의 값을 나눈다면  ['><'[A<B], '=='] 는 리스트 [A==B]는 인덱스 이다

 

이해하기 쉽게 해석해보자.

아래의 문구를 보면 이해하기 쉬워질 것 같아 작성하였다.

print([1,2,3,4][0])

print문의 값은 1이나왔다.

리스트의 인덱스 0의 값이 1이므로 답은 1이다.

 

즉.. [A==B] 가 거짓이면 0 , 참이면 1이 되고

그에따라 아래처럼 지정이된다.

::: 거짓일 경우  ['><'[A<B], '=='] 의  인덱스 0의값 : '><'[A<B]

::: 참일 경우  ['><'[A<B], '==']의 인덱스 1의값 : '==' 

 

그리고  '><'[A<B] 값을 나눈다면   '><'가 문자열 [A<B]가 인덱스가 된다.

문자열 '><'의   >는 인덱스'0'  <는 인덱스'1' 인 점을 이용하여

 

 A가 10이고 B가 20일때  [A<B]는 참으로 1이되고

인덱스 1일경우의  출력값  < 가 출력되게 하는 방식이다.

 

 

Tip

 

문자열에대한 이해도를 테스트하기위한 문제이다.

인덱스, 리스트의 인덱스를 잘 활용하자.

 

 

관련글

1.URL

 

 
 

 

 

 

 

 

'코딩알고리즘 > 백준' 카테고리의 다른 글

[PYTHON/백준] 2884번: 알람 시계  (0) 2022.09.19
[PYTHON/백준] 14681번: 사분면고르기  (0) 2022.09.19
[PYTHON/백준] 9498번  (0) 2022.09.08
[PYTHON/백준]10172번. 개  (0) 2022.07.06
[PYTHON/백준]25083번. 새싹  (0) 2022.07.06