문제 설명
문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
제한 사항
- str은 길이 1 이상인 문자열입니다.
입출력 예
s | return |
---|---|
"Zbcdefg" | "gfedcbZ" |
<내코드>
def solution(s):
result = sorted(s, reverse=True)
answer = ''.join(result)
return answer
1. 어제와 비교
- sort 와 sorted 의 차이를 명확히 이해하게 됨
=> 덕분에 sort는 list가 아니기 때문에 안쓰는거 아닌가 생각하게 됨
- list로 return 된것을 문자열로 바꾸는것
=> 곧바로 join을 생각하게 됨
2. 헤맨부분
- 문자열도 정렬이 된다고?
# 기본 정렬 순서
'a' < 'b' < ... < 'z' < 'A' < 'B' < ... < 'Z'
=> 문자열은 이터러블하기 때문에 개별문자로 분리되어 유니코드 값을 기준으로 정렬 가능함
추가로 아스키코드와 마찬가지로 동일한 순서로 정해져있음
- sorted 의 결과가 list로 return 된다고?
이터러블한 객체를 정렬된 리스트로 반환
<모범사례>
def solution(s):
# 문자열을 정렬하되 역순으로 정렬
result = sorted(s, reverse=True)
# 리스트를 문자열로 합치기
answer = ''.join(result)
return answer
- 큰 차이가 없음
<보충학습>
1. sorted 함수가 리스트로 리턴할 때의 예
=> 튜플, 세트, 딕셔너리의 key 모두 수정이 불가능한지 여부와 상관없이 sorted의 결과는 새로운 리스트를 반환하기 때문에 정렬이 가능하다.
'문제풀이 > 일일연습문제' 카테고리의 다른 글
[BST*]99클럽 코테 스터디 14일차 TIL + 0101-symmetric-tree (1) | 2024.08.04 |
---|---|
[BST*]99클럽 코테 스터디 13일차 TIL + 0783-search-in-a-binary-search-tree (0) | 2024.08.03 |
[sort]99클럽 코테 스터디 11일차 TIL + 프로그래머스/1/12933. 정수 내림차순으로 배치하기 (0) | 2024.08.01 |
[heap]99클럽 코테 스터디 10일차 TIL + 0789-kth-largest-element-in-a-stream (0) | 2024.07.31 |
[heap*]99클럽 코테 스터디 9일차 TIL + 0506-relative-ranks (0) | 2024.07.31 |