Baekjoon 문제 풀기 (2908번 : 상수) Python

2908번 : 상수

1. 문제읽기


문자열 뒤집기

문자열 뒤집는 방법을 알면 쉬운 문제이다.
난 생각나지 않아서 그냥 문자열을 뒤집는 코드를 짰다..

2. 제출 코드


a, b = map(list, input().split())

r_a = ""
r_b = ""

for i in range(len(a)-1, -1, -1):  # 2부터 0까지
    r_a += a[i]

for i in range(len(b)-1, -1, -1):
    r_b += b[i]

print(max(r_a, r_b))

3. 공부할 것


list slicing [::-1]

step을 사용하면 리스트를 뒤집을 수 있다.
리스트, 문자열 모두 사용 가능하다.
list slicing으로 문제를 풀면 아래와 같다.

a, b = input().split()

r_a = int(a[::-1])
r_b = int(b[::-1])

print(max(r_a, r_b))
reverse()

현재 리스트를 역순으로 뒤집어 준다.
sort함수와 같이 있는 리스트를 바로 뒤집어주기때문에 주의.
reverse함수로 문제를 풀려면 join함수를 알아야 한다.

join()

리스트에 있는 요소를 문자열로 바꾸어 반환하는 함수.
‘구분자’.join(리스트) : ‘ ‘ 안의 구분자를 넣어서 하나의 문자열로 합쳐준다.
‘‘.join(리스트) : 구분자가 공백으로, 리스트를 공백없이 하나로 합쳐준다.

reverse함수와 join함수로 문제를 풀어보면 아래와 같다.

a, b = map(list, input().split())

a.reverse()
b.reverse()

r_a = int(''.join(a))
r_b = int(''.join(b))

print(max(r_a, r_b))

리스트를 문자열로 합쳐주는 함수는 유용하게 쓰일 것 같으니 꼭 외워두어야겠다.

댓글남기기