문제를 딱 보고, 파이썬의 장점을 이용할 수 있는 두 가지 방법이 떠올랐다. reverse와 슬라이싱이었고, 이런 방법으로 푸는 방법을 전에 포스팅한 적이 있지만, reverse에서 자잘한 실수가 있었어서 정리를 또다시 해보았다.
A, B = input().split()
A = list(A)
A.reverse()
A = ''.join(A)
B = list(B)
B.reverse()
B = ''.join(B)
if A>B:
print(A)
else:
print(B)
둘 다 똑같이 리스트를 뒤집어 주지만, reverse는 아무것도 반환하지 않는 반면, reversed는 뒤집어진 리스트를 반환해 준다.
join 함수는 매개변수로 들어온 리스트에 있는 요소 하나하나를 합쳐서 하나의 문자열로 바꾸어 반환하는 함수이다.
'구분자'.join(리스트) 형식으로 작성하고, 리스트의 값과 값 사이에 구분자를 넣어서 하나의 문자열로 합쳐준다.
리스트형을 int형으로 바꾸는 방법을 검색하는 와중에, ['1', '2', '3']을 [1, 2, 3]으로 리스트의 각 값의 형을 문자열에서 int형으로 바꾸는 방법도 알게 되어서 번외로 작성해본당
A_new = list(map(int, A))
혹은
A_new = [int(i) for i in A]
이렇게 작성하면 된다.
A, B = map(list, input().split())
A.reverse()
A = ''.join(A)
B.reverse()
B = ''.join(B)
print(max(A, B))
A, B = input().split()
A = A[::-1]
B = B[::-1]
print(max(A, B))

밑에서부터 1~3 코드이다. 의외로 2번이 가장 빨랐다.