Algorithm

[백준알고리즘] 2908번 / 상수 (python3)

수노 SUNHO 2017. 10. 12. 14:07


내 코드

nums = [list(x) for x in input().split()]
a = ''
b = ''

for j in range(2, -1, -1):
a += nums[0][j]
b += nums[1][j]

if a > b:
print(a)
else:
print(b)

숏코딩

print(max(input()[::-1].split()))


arr[::-1] 처음봤다. 처음부터 끝까지 -1칸 간격으로, 즉 역순으로 정렬하도록 하는 것이다.

이렇게 쓰는걸 Extended Slices라고 하는데, arr[A:B:C] 로 A, B, C의 조건에 맞춰서 배열을 만들어주는 것이다.

파이썬에서는 문자열도 배열로 처리할 수 있기 때문에 input()으로 받은 문자열을 처리할 수 있다.. 그래도 신기하다


제대로 이해가 안되서 백준알고리즘에 나온 예시를 이용하여 쪼개서 실행해보았다.

'734 893'[::-1]
>>> '398 437'

어느 부분에서 띄어쓰기를 기준으로 나누는걸까라는 고민을 했는데 내가 바보다.

애초에 '734 893'을 그냥 거꾸로 출력한 것이다!.. 글자그대로 이해하면 되는데 혼자 나대서 생각했다.


파이썬은 너무 신기하다. 좋아 파이썬!



참고

[Tip] Python Array[::] 사용법