본문 바로가기

코딩테스트/Baekjoon

(Python 3) 백준 알고리즘 2908 상수

문제 2908 상수


문제


상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 개를 칠판에 써주었다. 그 다음에 크기가 큰 수를 말해보라고 했다.

상수는 수를 다른 사람과 다르게 거꾸로 읽는다. 예를 들어, 734과 893을 칠판에 적었다면, 상수는 이 수를 437과 398로 읽는다. 따라서, 상수는 두 수중 큰 수인 437을 큰 수라고 말할 것이다.

두 수가 주어졌을 때, 상수의 대답을 출력하는 프로그램을 작성하시오.


입력

첫째 줄에 상근이가 칠판에 적은 두 수 A와 B가 주어진다. 두 수는 같지 않은 세 자리 수이며, 0이 포함되어 있지 않다.


출력


첫째 줄에 상수의 대답을 출력한다.


예제 입력 1

734 893
cs


예제 출력 1

437
cs


코드


1
2
3
4
A,B = map(str, input().split())
= int("".join(map(str,list(reversed(A)))))
= int("".join(map(str,list(reversed(B)))))
print(a) if a > b else print(b)
cs

*) 추가코드
1
print(max(input()[::-1].split()))
cs


코드 설명

두 수를 A와 B로 나누어 받아오고 이를 역순후 리스트로 저장하고 

리스트를 다시 str 형태로 바꿔주고 이를 int 형태로 바꿔 삼항연산자를 사용해 값을 비교후 출력한다.


*) 추가코드 설명

파이썬 슬라이싱을 사용하면 편하게 코드를 짤 수 있다. 

파이썬 슬라이싱의 a[start:end:step]에서 step가 양수일 때 오른쪽으로 step만큼 이동하면서 가져오고, 음수인 경우 왼쪽으로 step만큼 가져온다.

그래서 input값을 [::-1]를 사용해서 가져오면 아예 역순으로 한번에 가져올 수 있습니다.


알고리즘 분류

  • 문자열 처리



반응형