본문 바로가기

TIL 통합/Python

SORTED() 매서드, SORT() 매서드, ''.JOIN() 함수

카타

<문제34. 문자열 내림차순으로 배열하기 : SORTED() 매서드, SORT() 매서드, ''.JOIN() 함수>

오답

def solution(s):
    return str(s).sorted(asc = False)

AttributeError: 'str' object has no attribute 'sorted'

 

포인트

문자열에 대해 sorted()는 매서드가 아닌 함수다 => SORTED(문자열)

*SORT 매서드 : 문자열.SORT()

 

정답

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

join 함수

  • 리스트에 있는 각 요소를 합쳐 하나의 문자열로 만들어주는 함수
  • 형태 : '구분자'.join(리스트)   *구분자 : 점, 쉼표 등등

다른 방법

def solution(s):
    s = list(s)
    s.sort(reverse = True)
    answer = ""
    for i in s:
        answer = answer + i
    return answer

 

리스트를 반환하는 문제만 계속 보다보니 이런 식의 답을 생각했다가 '리스트를 굳이 만들어서 해체해야 할까?'하는 생각에 귀찮아서...생각 안 했던 방식의 답.

위의 답처럼 ""를 특정 변수에 할당하면 해결할 수 있다.