codekata

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

kinggoddino 2024. 8. 5.

▶ 문제

문자열 s에 나타나는 문자를 큰 것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수 solution 완성하기

s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주함.

 

▶ 제한사항

str은 길이 1 이상인 문자열

 

▶ 풀이

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

통과!

아 처음으로 만족스러운 코드 나온듯 ㅜ

 

 

미리 sorted 함수 실험햇던거

s = 'KingGodDino'

print(sorted(s))
# ['D', 'G', 'K', 'd', 'g', 'i', 'i', 'n', 'n', 'o', 'o']

print(sorted(s, reverse = True))
# ['o', 'o', 'n', 'n', 'i', 'i', 'g', 'd', 'K', 'G', 'D']

문자열 하나하나를 요소로 갖는 리스트로 반환된다.

 

 

새로 깨달은 사실

기본적으로 sort 정렬은 오름차순인데,

먼가 당연히 대문자가 더 커보이는데 작게 취급된다.

  • 대문자 : A 65 ~ Z 90
  • 소문자 : a 97 ~ z 122

아스키코드에 대문자가 먼저 있기 때문에 대문자가 먼저 정렬됨