Coding Test

Programmers - 정수 내림차순으로 배치하기 (Java) (Lv.1)

킹효준 2023. 12. 19. 16:32

*모든 풀이 코드는 직접 작성하였습니다.

문제

주어진 n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴할 것.
예: 612439 -> 964321

문제 풀이

내림차순 정렬이므로, 배열에 넣어서 Collections.reverseOrder() 메소드로 내림차순 정렬 후 다시 long 타입으로 반환해주면 된다.

풀이 코드

import java.util.*;

class Solution {
    public long solution(long n) {
        String[] arr = String.valueOf(n).split(""); // n을 한 글자씩 잘라 arr 배열에 담음
        Arrays.sort(arr, Collections.reverseOrder()); // 배열 내림차순 정렬

        StringBuilder sb = new StringBuilder();
        for(String a : arr) sb.append(a); //배열의 값들을 sb에 하나씩 붙음

        return Long.parseLong(sb.toString()); //sb를 long타입으로 변환 후 반환

    }
}