algo lev-1 문자열 내림차순으로 배치하기 (python)

less than 1 minute read

문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.

s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.

예) “Zbcdefg” -> “gfedcbZ”

출처 : 프로그래머스 Level1

내가 푼 풀이

def solution(s):
    return ''.join(sorted(s, reverse=True))

처음 풀 때, 문자열이 sort() / sorted() 로 정렬되는 줄 몰라서 ord(), chr() 함수를 사용해서 복잡하게 문제를 풀었는데 그럴 필요가 없었다. (ㅠㅠ)

또 계속 sort()를 사용해서 문제를 풀려고 했는데, None이 반환되어 한 줄로 깔끔하게 풀 수가 없었다. 알고보니 아래와 같은 차이점이 있다는 것을 알게 되었다!

배운점

1. sort 와 sorted 의 차이 (참고)

list.sort() / string.sort() sorted(list) / sorted(string)
원본을 직접 정렬 원본에 영향을 끼치지 않음
None을 반환함 정렬한 새로운 문자열 혹은 list를 반환함

2. 문자열도 sort() / sorted() 를 사용해서 정렬할 수 있다!

Categories:

Updated:

Comments