문제 설명
문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
제한사항
- str은 길이 1 이상인 문자열입니다.
입출력 예
코드
def solution(s):
answer = ''
s_list = list(s)
s_list.sort()
answer = ''.join(s_list)[::-1]
return answer
풀이
문자열 s를 list() 메서드를 이용해 list로 변환해준 후 sort()로 정렬을 하고, 정렬된 리스트를 다시 문자열로 바꿔주기 위해 join()을 이용한다. 그 후, 문자열을 역순으로 바꿔주기 위해 [::-1]을 해준다.
다른 코드와 풀이
아래의 코드는 다른 사람들이 작성한 것들로, 내 코드와 비교, 참고하기 위해 가져왔다.
def solution(s):
return ''.join(sorted(s, reverse=True))
sorted와 reverse=True를 통해 s를 내림차순으로 정렬해준다. 그런데 sorted로 정렬하면 문자열 s가 리스트로 변환되기때문에 리스트를 문자열로 변환해주기 위해 join을 사용한다.
정리
reverse=True
: 정렬관련 메서드 안에 작성시 내림차순으로 정렬됨
sorted()
- 문자열도 정렬 가능 (자동으로 정렬된 리스트가 됨)
'Coding Test' 카테고리의 다른 글
231023 문자열 다루기 기본 - Level 1 (0) | 2023.10.23 |
---|---|
231022 부족한 금액 계산하기 - Level 1 (1) | 2023.10.22 |
231019 약수의 갯수와 덧셈 - Level 1 (0) | 2023.10.19 |
231018 내적 - Level 1 (0) | 2023.10.18 |
231017 수박수박수박수박수박수? - Level 1 (1) | 2023.10.17 |