https://programmers.co.kr/learn/courses/30/lessons/12917
def solution(s):
data = sorted(s, reverse=True)
return ''.join(data)
def solution(s):
data = sorted(s, reverse=True)
return ''.join(data)
간단한 방법으로 풀긴 했지만 sorted 함수가 문자열까지 정렬해준다는 사실은 몰랐다. 그렇기 때문에 이것 저것 다양한 메서드를 사용하다가 얼떨결에 풀었다는 표현이 맞겠다
https://min-zero.tistory.com/entry/python-문자열-내림차순으로-배치하기연습문제
sorted로 정렬이 되는 이유는 이 블로그를 보고 참고하였다.
testing_str = "Zbcdefg"
print(sorted(testing_str))
# 출력
# ['Z', 'b', 'c', 'd', 'e', 'f', 'g']
출력 값은 위와 같이 나오고, 이걸 reverse=True
해주면 요구하는 정답과 일치한다.
문자열의 아스키 코드를 살펴보니 대문자가 소문자보다 작다는 걸 알 수 있었다. 그래서 거꾸로 돌려주면 답이 나온다. 아스키 코드에 대한 근본적인 이해는 많이 부족하지만, 앞서 풀어본 문제들에서 아스키 코드 값으로 비교하는 경우가 많았었다.
출처 : 프로그래머스 다른 풀이
https://programmers.co.kr/learn/courses/30/lessons/12917/solution_groups?language=python3
def solution(s):
upper_list = []
lower_list = []
for word in list(s):
upper_list.append(word) if word.isupper() else lower_list.append(word)
upper_list.sort(reverse=True)
lower_list.sort(reverse=True)
answer = ''.join(lower_list + upper_list)
return answer