[프로그래머스] 문자열 내림차순으로 배치하기 - 파이썬

문제 설명

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

제한 사항

str은 길이 1 이상인 문자열입니다.

입출력 예

s return
Zbcdefg gfedcbZ

내 코드

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

처음에는 sorted()메서드를 쓰지 않고, ''.join(list(reversed(s)))로 작성했을 때 테스트 케이스로 주어진건 통과했으나 다른 여러가지 테스트 케이스에서 실패하여 원인을 생각해보니 대문자가 있을 경우 소문자보자 작기 때문에 그것에도 정렬을 먼저해야해서 sorted()메서드로 정렬을 먼저해주고 reversed()메서드로 뒤집었는데, 생각해보니 sorted() 메서드에 reverse옵션이 있어서 그걸로 해주었고, reversed()메서드를 쓰지 않아도되니까 list()를 쓸 필요가 없고, 단순히 배열을 문자열로 만들기 위해 ''.join()을 사용하여 결과 값이 나온 것을 문자열로 만들어 반환하였다.


다른 사람의 코드

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

이번에는 정말 신기하게 내가 짠 코드와 다른 사람의 풀이 중 좋아요를 가장 많이 받은 코드가 토시하나도 틀리지 않고 똑같아서 괜히 뿌듯했다..


Written by@[Ykss]
고이게 두지 않고 흘려보내는 개발자가 되자.

GitHubInstagramLinkedIn