algo lev-1 문자열 내림차순으로 배치하기 (python)
문자열 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를 반환함 |
Comments