[프로그래머스/Java] Lv.1 정수 내림차순으로 배치하기

febCho·2024년 6월 25일
0

코딩테스트

목록 보기
230/253
post-thumbnail

문제

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

- 제한사항

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

풀이

split()으로 문자열로 변환한 n을 배열로 만들어준다. 그리고 Arrays.sort()로 오름차순으로 정렬한 뒤, 버퍼 객체를 생성하고 루프를 거꾸로 돌며 append() 해준다. 그렇게 내림차순으로 정렬된 버퍼 객체를 long 타입으로 파싱하여 return 한다.

import java.util.Arrays;

class Solution {
    public long solution(long n) {
        String[] nArr = String.valueOf(n).split("");
        Arrays.sort(nArr);
        
        StringBuffer sb = new StringBuffer();
        for(int i=nArr.length - 1; i>=0; i--){
            sb.append(nArr[i]);
        }
        
        return Long.parseLong(sb.toString());
    }
}

결과

profile
Done is better than perfect.

0개의 댓글