정수 내림차순으로 배치하기

안시우·2024년 5월 10일

프로그래머스

목록 보기
4/4

1. 문제설명

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

2. 제한사항

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

3. 입출력 예시

n return
118372 873211

4. solution

import java.util.*;
class Solution {
    public long solution(long n) {
        String num = "" + n;
	    String[] arr = num.split("");
        StringBuffer sb = new StringBuffer();
	    Arrays.sort(arr, Comparator.reverseOrder());
        for (String data : arr) {
			sb.append(data);
		}
	    return Long.parseLong(sb.toString());
    }
}

5. 풀이

  • Arrays.sort(arr, Comparator.reverseOrder());
    배열을 내림차순으로 정렬한다.
  • StringBuffer sb = new StringBuffer();
    for (String data : arr) sb.append(data);
    StringBuffer를 사용해서 배열을 하나의 문자열로 만든다.
  • Long.parseLong(sb.toString());
    문자열을 정수로 변환

출처

https://school.programmers.co.kr/learn/courses/30/lessons/12933

0개의 댓글