https://school.programmers.co.kr/learn/courses/30/lessons/12917
문제 설명
문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
제한 사항
- str은 길이 1 이상인 문자열입니다.
입출력 예
s | return |
"Zbcdefg" | "gfedcbZ" |
<문제 풀이>
def solution(s):
str_list = list(s)
str_list.sort(reverse=True)
result = ''.join(str_list)
return result
- str_list를 통해 s를 리스트로 변환하기 --> "Zbcdefg" -> ['Z', 'b', 'c', 'd', 'e', 'f', 'g']
- 문자가 큰 것부터 작은 순으로 정렬해야 하기 때문에 내림차순 --> 내림차순은 .sort(reverse=True) 이용
- join을 통해 리스트를 통해 다시 문자열로 변환시키기 --> ''.join(str_list)
join 앞에 ''가 붙는 이유는?
<기본적 join의 형태와 의미)
구분자.join(문자열로 합치고자 하는 문자열의 리스트난 튜플)
예시1. 공백을 통한 구분자
words = ['Hello', 'World']
result = ' '.join(words)
print(result) # 출력: 'Hello World'
예시2. 쉼표를 통한 구분자
numbers = ['1', '2', '3']
result = ','.join(numbers)
print(result) # 출력: '1,2,3'
예시3. 빈 문자열을 통한 구분자(이번 문제에서 사용한 것)
chars = ['H', 'e', 'l', 'l', 'o']
result = ''.join(chars)
print(result) # 출력: 'Hello'
--> 여기서 빈 문자열('')이 구분자로 사용되어 각 문자들이 붙어 하나의 문자열이 된다!
'✨Today I Learned > Python' 카테고리의 다른 글
데이터 전처리 문제 실습 (0) | 2024.07.19 |
---|---|
📊데이터 시각화 (Matplotilb) (0) | 2024.07.18 |
데이터 전처리 (Pandas) (0) | 2024.07.17 |
Python codekata 19번 - 정수 제곱근 판별 (0) | 2024.07.11 |
파이썬 라이브 세션 3회차 개인과제 (0) | 2024.07.10 |