코딩테스트/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()) a = int("".join(map(str,list(reversed(A))))) b = 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]를 사용해서 가져오면 아예 역순으로 한번에 가져올 수 있습니다.
알고리즘 분류
- 문자열 처리
반응형