017. 문자열 내림차순으로 배치하기

5710 단어 algorithmalgorithm

문제

내 풀이(정답)

def solution(s):
    answer = sorted(s) # 문자열 정렬(리스트화)
    answer = "".join(answer) # 정렬된 리스트를 다시 문자열로
    answer = answer[::-1] # 문자열 뒤집기

    return answer

다른 사람 풀이

def solution(s):
    return ''.join(sorted(s, reverse=True))
  • 이런 식으로 해결하고 싶었는데 저번에 배운 key기능으로 lambda함수까지 써야 해결되는 건 줄 알고 시도하다가 포기함

문자열 뒤집는 방법들

for문으로 뒤집어서 담아 출력하기

s = 'abcde'
s_reverse = ''  # 기존 문자열을 역순으로 담아줄 빈 문자열 선언
for char in s:
    s_reverse = char + s_reverse

print(s_reverse)  # edcba

reverse 함수로 뒤집기

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

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

reversed 함수로 뒤집기

  • reverse 함수와 달리 문자열 상태에서 뒤집을 수 있는 장점
s = 'abcde'
print(''.join(reversed(s)))  # 'edcba'

::-1 로 뒤집기

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

sorted 로 뒤집기

s = 'abcde'
print(''.join(sorted(s, reverse=True))) # 'edcba'

좋은 웹페이지 즐겨찾기