본문 바로가기
Coding Test

231020 문자열 내림차순으로 배치하기 - Level 1

by mmm- 2023. 10. 20.

문제 설명

문자열 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()

  • 문자열도 정렬 가능 (자동으로 정렬된 리스트가 됨)