반응형
[문제]
문제 설명
문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
제한 사항
-
str은 길이 1 이상인 문자열입니다.
입출력 예
s |
return |
Zbcdefg |
gfedcbZ |
[1차 풀이]
- 소문자를 먼저 정렬 후 대문자인 문자를 정렬하여 join했다.
- join은 리스트를 string으로 변환할 때 사용한다.
- ** sort시 reverse하면 소문자, 대문자가 자동으로 정렬되기 때문에 저렇게 if문으로 나눠 줄 필요가 없었다.
def solution(s):
s = sorted(s, reverse=True)
return ''.join([ u for u in s if u.islower() ]) +''.join([ l for l in s if l.isupper() ])
[2차 풀이]
- 간단하게 한줄로 표현 가능하다.
def solution(s):
return ''.join(sorted(s, reverse=True))
[링크]
반응형
'Python' 카테고리의 다른 글
[Python/프로그래머스] 12919_서울에서 김서방 찾기 - '{}'.foramt() (0) | 2020.03.29 |
---|---|
[Python/프로그래머스] 12918_문자열 다루기 기본 - isdigit(), isnumeric() (0) | 2020.03.29 |
[Python/프로그래머스] 12916_문자열 내 p와 y의 개수 - string.count() (0) | 2020.03.29 |
[Python/프로그래머스] 12915_문자열 내 마음대로 정렬하기 - sorted( ,key = lambda ) (0) | 2020.03.28 |
[Python/프로그래머스] 12912_두 정수 사이의 합 - return if ~ or ~ , ~ if ~ else ~ (0) | 2020.03.28 |