본문 바로가기
Algorithm/Programmers

[Algorithm] 프로그래머스 - 정수 내림차순으로 배치하기

by 홍월이_ 2022. 12. 23.

시작하며...

모든 알고리즘 문제 풀이는 제가 직접 짜서 정답을 맞춘 결과만을 공유합니다.

마지막 'More Solution'은 다른 정답자들 풀이 중 생각지 못했던 부분들이나 좋게 느껴진 풀이법 몇개를 가져와서 공유하였습니다.

 

[Level 1] 정수 내림차순으로 배치하기

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제 설명

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

제한 조건

  • n은 1이상 8000000000 이하인 자연수입니다.

입출력 예

 

My Solution

def solution(n):
    return int(''.join(sorted(str(n), reverse=True)))
  • 입력받은 정수 n 을 정렬하기 위해 List 처럼 쓰려고 문자열로 변환
  • 문자열이 된 n 은 sorted 를 통해 정렬이 가능함, reverse = True 로 하면 내림차순 정렬이 된
  • sorted 를 하면 정렬된 결과를 리스트로 반환이 되므로 join을 통해 하나의 문자열로 합쳐줌
  • int 로 형변환 후 결과값 리턴

 

출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges

댓글