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