본문 바로가기

알고리즘, 자료구조

[백준| 단계별로 풀어보기 5단계 문자열 | Python] 2908번 상수

1. 문제 목적

백준 2908번 '상수' 문제는 주어진 두 숫자를 거꾸로 읽고, 그 중 더 큰 숫자를 출력하는 문제입니다. 이 문제의 목적은 문자열 조작과 기본적인 숫자 처리를 연습하여, 문자열을 다루는 기술과 숫자 비교 방법을 강화하는 데 있습니다.

2. 핵심 개념

핵심 메서드 및 개념:

  • 문자열 슬라이싱 [::-1]: 문자열을 거꾸로 뒤집기 위해 사용되는 파이썬의 슬라이싱 기법입니다. 이는 문자열의 시작부터 끝까지 역순으로 접근하도록 합니다.
  • max() 함수: 여러 값 중 최대값을 반환하는 내장 함수로, 두 개 이상의 숫자 중에서 가장 큰 값을 찾는데 사용됩니다.

3. 문제 해결 절차

  1. 입력 받기: 두 개의 숫자를 문자열로 입력받습니다.
  2. 숫자 뒤집기: 입력받은 각 숫자를 문자열로 취급하여 거꾸로 뒤집습니다.
  3. 숫자 변환 및 비교: 뒤집은 문자열을 정수로 변환하고, 두 정수를 비교합니다.
  4. 결과 출력: 두 숫자 중 더 큰 숫자를 출력합니다.

4. 코드 작성

# 입력 받기
a, b = input().split()  # 공백으로 구분된 두 숫자를 입력 받음

# 숫자 뒤집기 및 정수 변환
a, b = int(a[::-1]), int(b[::-1])  # 두 숫자를 뒤집어 정수로 변환

# 결과 출력
print(max(a, b))  # 두 숫자 중 큰 숫자를 출력

5. 코드 분석

  • a, b = input().split(): 두 개의 숫자를 문자열로 입력받고 공백을 기준으로 분리합니다.
  • a, b = int(a[::-1]), int(b[::-1]): 입력받은 각 숫자를 문자열 슬라이싱을 사용하여 거꾸로 뒤집은 뒤, 정수로 변환합니다.
  • print(max(a, b)): max() 함수를 사용하여 두 숫자 중 더 큰 숫자를 출력합니다.