2024-05-20 작성

알고리즘 문제 풀이 #5 정수 내림차순으로 배치하기

programers에서 문제 풀이한 내용입니다. 

문제 설명

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

제한사항

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

입출력 결과

s answer
118372  873211

문제 풀이

public long descendingInteger_1(long n) {
    char[] charArr = Long.toString(n).toCharArray();

    Arrays.sort(charArr);

    StringBuilder sb = new StringBuilder(new String(charArr)).reverse();

    return Long.parseLong(sb.toString());
}

다른 문제 풀이

String res = "";

public static long descendingInteger_2(long n) {
    Long.toString(n).chars().sorted().forEach(c -> res = Character.valueOf((char)c) + res);
    return Long.parseLong(res);
}