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

Song_Song·2021년 4월 6일
0

문제 설명

문자열 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 문을 만들어 봤다. 풀면서 정상적인 방법이 아닌 것 같아 찾아봤는데 좋은 함수가 있었음.

profile
성장을 위한 정리 블로그

0개의 댓글