프로그래밍/파이썬 공부

[백준 #2908][Python] 상수

winblack22 2021. 9. 27. 22:52

문제

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

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

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

 

풀이

어차피 입력으로는 3자리 숫자만 들어오니까... 리스트로 받아서 list[0]와 list[2]를 swap해주면 되겠다. 생각했다.

그래서 멍청하게 temp만들어서 swap하려다가 파이썬에 swap함수가 있지(not ITZY) 않을까 생각이 들어 구글링을 했다.

그리고 쉬운 swap코드를 찾았지.

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

def swap(number):
    number[0], number[2] = number[2], number[0]
    return number

if(swap(a) > swap(b)):
    print(int("".join(a)))
else:
    print(int("".join(b)))

a, b에 한번씩 swap해줘야 하는데 한줄이지만 그거 코드 쓰기 싫어서 기어코 swap 함수를 선언했다...

근데 생각해보니까 이게 더 코드가 길어졌다. 그냥 노가다로 쓸걸... 허허

다 하고 출력했더니 리스트 형태로 나와서 숫자 형태로 나와야 그 기분나쁜 '틀렸습니다!'가 안 나올것 같았다.

.join()이라는 애가 리스트를 합쳐준다길래 쏠랑 써봤다.

 

오늘의 기억할 것! "".join()

예시...

>>> llist = ['wjsn', 'the', 'black']
>>> print(" ".join(llist))
wjsn the black