함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
n
은 1이상 8000000000 이하인 자연수입니다.n | return |
---|---|
118372 | 873211 |
class Solution {
public long solution(long n) {
String num = Long.toString(n);
char[] digits = num.toCharArray();
for (int i = 0; i < digits.length - 1; i++) {
for (int j = i + 1; j < digits.length; j++) {
if (digits[i] < digits[j]) {
char temp = digits[i];
digits[i] = digits[j];
digits[j] = temp;
}
}
}
return Long.parseLong(new String(digits));
}
}
num
변수에 입력된 수 n
을 문자열로 변환하여 저장합니다.digits
변수에 num
문자열을 문자 배열로 변환하여 저장합니다.i
를 0부터 digits.length - 2
까지 반복합니다.-1
은 두 자릿수를 비교하기 위함입니다.j
를 i + 1
부터 digits.length - 1
까지 반복합니다.i
이후의 자릿수들과 비교하기 위함입니다.)i
번째 자릿수와 j
번째 자릿수를 비교하여, i
번째 자릿수가 작은 경우 두 자릿수를 교환합니다.digits
배열을 큰 순서로 정렬합니다.digits
배열을 문자열로 변환한 뒤 Long.parseLong()
을 사용하여 해당 문자열을 long
타입으로 변환하여 반환합니다.