본문 바로가기

프로그래머스/Java

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

문제


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

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

입출력 예

nreturn

118372 873211

 

답안


import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

class Solution {
    public long solution(long n) {
        long answer = 0;
   		List<Long> list = new ArrayList<Long>();
		while(n>0) {
			list.add(n%10);
			n=n/10;
		}

		Collections.sort(list);
		long a = 1;
		for(int i=0;i<list.size();i++) {
			answer+=(a*list.get(i));
			a*=10;
		
		}
        return answer;
    }
}