본문 바로가기
개발/알고리즘

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

by ISA(류) 2021. 8. 19.

# 문제 원문

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

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

입출력 예

n / return

118372 873211

# 문제 풀이

입력 받은 정수 n의 각 자릿수들을 배열로 만들어서 정렬한 후 합쳐서 반환하는 문제이다. 간단히 형변환해서 풀면 된다.

입력 받은 정수 n을 문자열로 형변환한 후 쪼개서 배열로 만들고 sort(b - a)로 정렬후 합쳐서 반환하면 끝.

# 솔루션 플로우

1. 입력 받은 정수 n을 문자열로 형변환한다.

2. 형변환 된 문자열 n을 쪼개서 배열로 만든다.

3. 문자열 배열 n[]을 정렬해준다. (b - a)

4. 정렬된 배열 n[]을 합해서 문자열로 만들어 준다.

5. 그렇게 얻어진 result를 정수로 형변환해서 반환한다. 

1. 형변환을 이용한 풀이

function solution(n) {
    return parseInt(
        n.toString()
            .split('')
            .sort((a, b) => b - a)
            .join('')
    );
}
반응형