본문 바로가기

프로그래머스/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;
}
}