문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
제한 사항
str은 길이 1 이상인 문자열입니다.
생각 과정
1. 문자열을 정렬하는 sort() 함수나 sorted()를 이용해야지!
2. s 는 문자열이어서 sort() 가 불가능했다.
--> 찾아보니 sort()는 리스트 정렬만 가능하고, sorted()는 리스트 뿐만 아니라 반복 가능한 모든 작업에 적용이 가능하다고 한다.
--> 정렬하면 결과 형태는 리스트이다. 그래서 문자열로 바꿔주는 작업이 필요했다.
3. 문자를 큰 것부터~ 작은 순 !!
: 정렬 후 reverse를 해야한다는 뜻인데 나는 그냥 무작정 푸느라 제대로 고려를 하지 않아 문제 푸는데 더 오래걸렸다.
answer = ''
my_sort=sorted(s)
my_sort.reverse()
for i in range(len(my_sort)):
answer+=my_sort[i]
return answer
1)
def solution(s):
answer = ''.join(sorted(s, reverse=True))
return answer
// join 사용,,!
// sorted에 reverse 를 지정할 수 있구나,,
2)
def solution(s):
answer = ''
lst = list(s)
lst.sort()
lst.reverse()
// list(s) 를 사용해서 문자열을 list로 바꾼 후 sort()!
for i in lst:
answer += i
return answer
개선점
- 문제를 꼼꼼하게 읽고 차분히 문제를 풀어야 겠다.😅
- sort()를 리스트에만 적용할 수 있다면 문자열을 리스트로 바꿔서 사용할 생각도 해보자!