BOJ 1427 소트인사이드

김재섭·2021년 3월 23일
0

백준

목록 보기
2/10

문제

아이디어

단순히 숫자를 받아서 내림차순으로 정렬만 해주면 된다

코드

처음 제출한 코드

lst = list(input())

for i in sorted(lst, reverse=True):
    print(i, end='')

제출한 첫 코드인데, 단순하다.
리스트로 각 자리수를 잘라서 입력을 받고, 역순으로 정렬한 인자를 출력해준다.

백준에서 숏코딩을 보고 고친 코드

lst = list(input())
print(*sorted(lst)[::-1],sep='')

정말 대박이다...
리스트 슬라이싱을 이렇게 활용할 생각은 전혀 못했다.
그리고 sorted앞에 붙은 *은 포인터가 아니고 Python의 Asterisk인데,
https://mingrammer.com/understanding-the-asterisk-of-python
이 링크를 보면 마지막에 컨테이너를 Unpacking해주는 용도로 sorted앞에 붙은 것 같다.
*을 붙이지 않고 출력하게 되면 ['4', '3', '2', '1']와 같이 리스트의 형식으로 출력된다
사실 이 코드도 input을 sorted안에 lst자리에 넣어주면 한 줄로 줄일 수 있지만 굳이 그렇게까지는 안했다

GIT

profile
오만가지에 관심이 있는 사람

0개의 댓글

관련 채용 정보