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

문제 설명

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

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

입출력예

s return
"Zbcdefg" "gfedcbZ"

나의 풀이

소문자, 대문자를 구분하는 리스트 두개를 만들어 정렬한 뒤 거꾸로 뒤집어 asnwer 스트링에 대입해준다..

def solution(s):
answer = ''       
lower = []
upper = []     

for i in s:
    
    if i.isupper():
        upper.append(i)
    else:
        lower.append(i)

answer = "".join(reversed(sorted(lower))) + "".join(reversed(sorted(upper)))
    
return answer

list -> string 으로 변환해 주는 join()을 몰랐어서 lower ,upper 내부의 원소들을 answer에 넣기 위해 각각의 for 문을 만들어 봤다. 풀면서 정상적인 방법이 아닌 것 같아 찾아봤는데 좋은 함수가 있었음.

좋은 웹페이지 즐겨찾기