Dev/PS

[백준/BOJ] 2908번: 상수 (Python) 풀이

KangJerry 2024. 6. 11. 23:06

Baekjoon Online Judge (BOJ) 의 2908번 문제인 '상수' 를 풀어보았다.
 
[문제 정보]
https://www.acmicpc.net/problem/2908


문제 개요:

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

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

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


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

[ 출력 ]

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

 

즉 입력받은 두 수 A, B를 거꾸로 뒤집어서 비교한 다음, 뒤집은 상태 기준에서의 큰 수를 그 상태 그대로 출력해주면 된다.

예시) '734 893' → 뒤집을 경우 '437 398' 이고, 큰 수는 437

 

알고리즘:

  1. 두 수 A, B를 문자열 자료형으로 입력받는다.
  2. 입력받은 두 수(문자열 상태)를 [::-1] 을 통해 역순으로 뒤집고, 이를 int 자료형으로 형변환하여 값을 비교한다.
  3. A, B 둘 중 큰 수(뒤집은 상태 기준)를 뒤집은 상태 그대로 출력한다.

 

코드:

A, B = input().split()

if int(A[::-1]) > int(B[::-1]):
    print(A[::-1])
else:
    print(B[::-1])

위 풀이에 대한 질문이나 틀린 정보가 있다면 댓글로 말씀해 주시면 감사하겠습니다!
 
 

728x90