Coding Test/프로그래머스

[200512] 정수 내림차순으로 배치하기 - 연습문제(level1)

csmoon1010 2020. 5. 12. 10:49

1. 문제이해

 - n의 자릿수를 내림차순으로 정렬한 새로운 정수 return

 

2. 전략

- String[] s : 각 자릿수를 담은 배열

- Arrays.sort와 Comparator.reverseOrder() : 내림차순 정렬

- String str : 정렬된 수를 붙여 만든 string

- answer : str을 다시 parseLong

 

3. 참고사항

- 내림차순 다른 방법 : Arrays.sort(s, Collections.reverseOrder())도 가능!!

- 다른 풀이(스트림 람다식) : chars(), sorted(), forEach() 이용

 

4. 코드

import java.util.*;
class Solution {
    public long solution(long n) {
        long answer = 0;
        String[] s = Long.toString(n).split("");
        Arrays.sort(s, Comparator.reverseOrder());
        String str = "";
        for(String i : s)   str += i;
        answer = Long.parseLong(str);
        return answer;
    }
}