https://programmers.co.kr/learn/courses/30/lessons/12917
def solution(s):
s = list(s)
s.sort(reverse=True)
return ''.join(s)
풀이
1. 리스트화
2. 오름차순 정렬
3. 문자열로 join
sorted는 return값으로 정렬된 리스트를 반환하지만,
sort는 return 값이 없이 s의 주소 값을 찾아가 해당 s를 정렬한다.
따라서 ''.join(s.sort(reverse=True))는 에러
다른 풀이
def solution(s):
return ''.join(sorted(list(s))[::-1])
위의 코드는 ((((문자열 s를 리스트화) 정렬한 리스트) 역순으로) 문자열로 join)을 한 코드이다.
앞서 sorted는 정렬된 리스트를 반환한다. 즉, 리스트 이므로 슬라이싱을 사용할 수 있다.
[::-1]는 뒤에서부터 모든 값을 즉, 리스트를 역순으로 만든 다는 뜻
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv1 - 서울에서 김서방 찾기 (파이썬) (0) | 2022.03.22 |
---|---|
[프로그래머스] Lv1 - 문자열 다루기 기본 (파이썬) (0) | 2022.03.22 |
[프로그래머스] Lv1 - 문자열 내 p와 y의 개수 (파이썬) (0) | 2022.03.21 |
[프로그래머스] Lv1 - 문자열 내 마음대로 정렬하기 (파이썬) (0) | 2022.03.21 |
[프로그래머스] Lv1 - 두 정수 사이의 합 (파이썬) (0) | 2022.03.21 |