본문 바로가기

알고리즘 공부/프로그래머스 > Python3

[프로그래머스] 문자열 내림차순으로 배치하기

https://programmers.co.kr/learn/courses/30/lessons/12917?language=python3

 

코딩테스트 연습 - 문자열 내림차순으로 배치하기

문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로

programmers.co.kr

 

[정답]

 

1. s를 리스트 형태로 list_s에 넣는다. (sort()함수를 사용하기 위해서)

2. list_s를 sort(reverse=True)함수를 적용하여 내림차순으로 배치한다.

3. answer은 문자열 형태이므로, for문을 돌면서 리스트 list_s의 문자열들을 하나씩 answer에 더해준다.

4. answer을 return한다.


문제를 처음 읽었을 때, 소문자와 대문자 구분해서 내림차순을 해주어야 할 줄 알았다.

그러나 그냥 sort()함수를 먼저 사용해보자 하고 적용하였는데 정답이었다.

sort()함수로 내림차순을 해줄 경우, 대문자의 아스키코드가 소문자의 아스키코드보다 더 크기 때문에 대문자가 뒤에 위치하나보다.