본문 바로가기
코딩테스트/백준

백준 > 단계별로 풀어보기 > 문자열 > 2908번: 상수

by 나는야석사 2024. 7. 16.

문제

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

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

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

입력

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

출력

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

예제 입력 1 복사

734 893

예제 출력 1 복사

437

예제 입력 2 복사

221 231

예제 출력 2 복사

132

예제 입력 3 복사

839 237

예제 출력 3 복사

938

 

파이썬에서 문자열을 거꾸로 뒤집는 방법은 여러 가지이다.

1. 슬라이싱

str = "hello"
result_str = str[::-1]
print(result_str)  # 출력: olleh

2. for문

str = "hello"
result_str = ""
for char in str:
  result_str = char + result_str
print(result_str)

3. reverse() 함수

리스트로 바꾼 다음 .reverse()

 

내 코드

a, b = input().split()

a = a[::-1]
b = b[::-1]

print(max(a, b))
a, b = input().split()

reverse_a = ""
for i in range(len(a)):
    reverse_a = a[i] + reverse_a

reverse_b = ""
for i in range(len(b)):

    reverse_b = b[i] + reverse_b

print(max(int(reverse_a), int(reverse_b)))

빈 문자열을 초기화 해주고, for문을 순회하며 나오는 문자 + 빈 문자열

- h + ""

- e + h

- l + eh

- l + leh

- o + lleh

결과>>>>> olleh

 

둘 다 익숙하지 않지만 계속 봐야겠다.