[test] 문자열 내림차순으로 배치하기 - 파이썬

Joy·2020년 4월 20일
0

Coding Test

목록 보기
20/48

문제 설명
문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
제한 사항
str은 길이 1 이상인 문자열입니다.

입출력 예
s	return
Zbcdefg	gfedcbZ 

내 풀이

def solution(s):
    return (''.join(sorted(s)[::-1]))

우선 sorted로 s를 정렬하고, 뒤집어 줘야하기 때문에 [::-1] 을 사용해서 거꾸로 출력하고 join으로 연결.

아래도 가능

def solution(s):
    
    return (''.join(reversed(sorted(s))))
    

참고

문자열 거꾸로 출력하기

s = 'abcde'
s_list = list(s)  # reverse 함수를 사용하기 위해 문자열을 list로 치환
s_list.reverse()  # reverse 함수를 사용해 문자열 리스트를 거꾸로 뒤집음

print(''.join(s_list))  # 거꾸로 뒤집어진 리스트를 연결해서 출력


or 

s = 'abcde'
print(''.join(reversed(s)))  # 'edcba'


s = 'abcde'
print(s[::-1])  # 'edcba'

[::-1] 인덱스를 주면 전체 문자열을 역순으로 출력

다른 풀이

def solution(s):
    return ''.join(sorted(s, reverse=True))

sorted 안에 reverse 값을 줘도 가능.

profile
roundy

0개의 댓글