코딩테스트/Baekjoon

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

Jeongmin Lee 2019. 7. 11. 16:04

문제 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]를 사용해서 가져오면 아예 역순으로 한번에 가져올 수 있습니다.


알고리즘 분류

  • 문자열 처리



반응형