[파이썬 코딩테스트] 레벨 1 : 정수 내림차순으로 배치하기

ch.2·2024년 7월 2일
0

코딩 테스트

목록 보기
4/21
post-thumbnail

함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.

첫 시도는 리스트 변수를 만들어서, for 반복문과 append를 사용해 리스트에 추가하는 방향으로 진행했다. 하지만 방향이 잘못되었다는 생각이 들었고, 검색을 하며 알아보다가 숫자열을 문자열로 먼저 바꿔야 한다는 것을 알게 되었다.

답안과 그에 대한 설명

def solution(n):
    result = list(str(n))
    result.sort(reverse=True)
    return int("".join(result))
  • result = list(str(n))
    : n의 값이 정수이기 때문에 문자열값으로 바꿔서 result라는 리스트에 담아준다.

  • result.sort(reverse=True)
    : 리스트명.sort()는 정렬,
    리스트명.reverse는 정렬 순서 역순으로 뒤집기,
    리스트명.sort(reverse=True)는 내림차순으로 정렬하기.
    True 적을때 다 대문자, 다 소문자로 하면 안되고 True!!라고 적어야 함.

  • return int("".join(result))
    : 문자열로 바꾼 값을 다시 정수로 바꿔준다.

    "".join(result) 는 result 내의 요소들을 하나의 문자열로 연결하는 것.
    쌍따옴표 "" 는 int에 전달되는 값이 문자열임을 나타내는 역할.
    .join() 는 리스트, 문자열, 튜플 등에 포함된 문자열들을 하나의 문자열로 합쳐주는 역할.

    e.g.) `.join()`에 대한 예시
    
    nums = ['1', '2', '3', '4', '5']
    '-'.join(nums)
    
    → '1-2-3-4-5'
profile
데이터 분석 공부중

0개의 댓글