문제 설명
문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
제한 사항
- str은 길이 1 이상인 문자열입니다.
입출력 예
s | return |
"Zbcdefg" | "gfedcbZ" |
나의 풀이
[Python(파이썬)]
def solution(s):
answer = sorted(s,reverse=True)
for i in range(len(answer)):
if ord(answer[0]) < 97:
answer.append(answer.pop(0))
else:
break
return "".join(answer)
처음에 내림차순으로 정렬하지 않고 오름차순으로 정렬하는 실수로 인해 대문자가 앞에 오지 않아 대문자를 뒤로 보내는 작업을 한 코드
for문은 할 필요가 없었다.
sorted(s) -> 오름차순
sorted(s,reverse=True) -> 내림차순
내림차순을 하면 대문자가 뒤로 간다는 사실을 알고 난 후 작성한 코드
def solution(s):
return "".join(sorted(s,reverse=True))
학습한 내용
- sorted(s) -> 오름차순
- sorted(s,reverse=True) -> 내림차순
- 문제와 예시를 제대로 읽기!!! (예시를 제대로 읽었으면 빠르게 넘어 갈 수 있었던 문제)
- pop(), append() 학습
문제 출처
코딩테스트 연습 - 문자열 내림차순으로 배치하기
문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로
programmers.co.kr
'[Python] Programmers > Level1' 카테고리의 다른 글
[프로그래머스/Level1] 문자열 다루기 기본 (0) | 2021.06.07 |
---|---|
[프로그래머스/Level1] 모의고사 (0) | 2021.06.07 |
[프로그래머스/Level1] 실패율 (2019 카카오 블라인드) (0) | 2021.06.04 |
[프로그래머스/Level1] 두 정수 사이의 합 (0) | 2021.06.04 |
[프로그래머스/Level1] [1차] 비밀지도 (2018 카카오 블라인드) (0) | 2021.06.03 |
댓글