[프로그래머스 / Python] 문자열 내림차순으로 배치하기

https://programmers.co.kr/learn/courses/30/lessons/12917

 

코딩테스트 연습 - 문자열 내림차순으로 배치하기

문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로

programmers.co.kr

sort를 이용하면 알파벳 순서대로 정렬이 되고 만약 대문자A와 소문자a가 같이 있으면 대문자가 먼저 정렬이 된다.

 

a = [ "bbb", "AAA", "DDD", "CCC", "aaa" ]


# 대소문자 구분하여 소팅
a.sort()

print " ".join(a)
# 출력 결과: AAA CCC DDD aaa bbb


# 대소문자 구분 없이 소팅
a.sort(key=str.lower)

print " ".join(a)
# 출력 결과: AAA aaa bbb CCC DDD

다음과 같이 sort함수가 작동하는것을 확인할 수 있다.

 

내 코드

def solution(s):
    s=list(s)
    s.sort(reverse = True)
    print(s)
    s = ''.join(s)
    return s

 

이 코드를 한줄로 짧게 만들 수 있다.

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

sorted 함수의 반환이 list이므로 join함수에 쓸 수 있다.

댓글

Designed by JB FACTORY