문제
[ 문제 설명 ]
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
[ 제한 조건 ]
- n은 1이상 8000000000 이하인 자연수입니다.
풀이
더보기
import java.util.*;
class Solution {
public long solution(long n) {
long answer = 0;
String a = "";
a += n;
char[] arr = new char[a.length()];
// 잘라서 배열에 넣기
for (int i = 0; i < arr.length; i++) {
arr[i] = a.charAt(i);
}
// 내림차순 정렬
for (int j = 0; j < arr.length-1; j++) {
for (int i = 0; i < arr.length-1; i++) {
// 뒤의 값이 더크면 자리를 바꿔준다
if((int)arr[i]<(int)arr[i+1]) {
char temp = arr[i];
arr[i] = arr[i+1];
arr[i+1] = (char)temp;
}
}
}
answer = Long.parseLong(String.valueOf(arr));
return answer;
}
}
728x90
반응형