문제 링크: https://www.acmicpc.net/problem/2908
2908번: 상수
상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두
www.acmicpc.net
문제
상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 개를 칠판에 써주었다. 그 다음에 크기가 큰 수를 말해보라고 했다.
상수는 수를 다른 사람과 다르게 거꾸로 읽는다. 예를 들어, 734와 893을 칠판에 적었다면, 상수는 이 수를 437과 398로 읽는다. 따라서, 상수는 두 수중 큰 수인 437을 큰 수라고 말할 것이다.
두 수가 주어졌을 때, 상수의 대답을 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 상근이가 칠판에 적은 두 수 A와 B가 주어진다. 두 수는 같지 않은 세 자리 수이며, 0이 포함되어 있지 않다.
출력
첫째 줄에 상수의 대답을 출력한다.
코드
A, B = input().split()
print(max(int(A[::-1]),int(B[::-1])))
코드 풀이
- 두 숫자가 주어지고, 각각의 숫자를 뒤집어 1의 자리부터 츨력했을 때, 더 큰 숫자를 찾는 문제이다.
- 각각의 숫자는 띄어쓰기를 통해 구분이 되므로, 문자열을 입력받고 띄어쓰기를 기준으로 변수 A, B에 각각 입력한다.
- int를 사용하지 않은 이유는 [::1]을 통해 문자열을 뒤집기 위함으로, A,B를 [::1] 인덱싱을 통해 숫자(현재까지는 문자열)를 뒤집는다.
- int 함수를 사용하여 A, B를 integer로 만들고 max 함수를 통해 더 큰 수를 출력한다.
반응형
댓글