함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
n은 1이상 8000000000 이하인 자연수입니다.
n return
118372 873211
1.변수 nm에 n을 대입
2. while문으로 nm이 0보다 클때까지 cnt를 증가시키면서 10으로 나눠준다. 10으로 나눠주는 이유는 10을 한번씩 나눌때마다 자릿수만큼 얻을수있기 때문이다.
3.long배열을 cnt만큼 만들고 for문으로 num[i]에 n을 10으로 나눈 나머지를 넣는다.
4.for문이 끝나고 num을 오름차순으로 배열한다.
5.for문으로 맨 끝자리 배열부터 차례대로 String인 result에 넣는다.
6.string을 long으로 바꾸는 Long.parseLong() 함수를 사용해서 answer에 대입한다.
import java.util.Arrays;
class Solution {
public long solution(long n) {
long answer = 0;
long nm = n;
int cnt = 0;
String result = "";
while(nm>0){
cnt++;
nm/=10;
}
long[] num = new long[cnt];
for(int i=0; i<num.length; i++){
if(n<=0){
break;
}
num[i] = n%10;
n/=10;
}
Arrays.sort(num);
for(int i=num.length-1; i>=0; i--){
result += num[i];
}
answer = Long.parseLong(result);
return answer;
}
}