함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
n | return |
---|---|
118372 | 873211 |
import java.util.*;
class Solution {
public long solution(long n) {
StringBuffer sb = new StringBuffer();
int temp[] = new int[String.valueOf(n).length()];
for(int i = 0; i < String.valueOf(n).length(); i++) {
temp[i] = (String.valueOf(n)).charAt(i) - '0';
}
Arrays.sort(temp);
for(int j = temp.length - 1; j > -1; j--) {
sb.append(temp[j]);
}
return Long.parseLong(sb.toString());
}
}
숫자 하나하나 떼어놓으려고 형변환 했음
import java.util.*;
class Solution {
public long solution(long n) {
String[] list = String.valueOf(n).split("");
Arrays.sort(list);
StringBuilder sb = new StringBuilder();
for (String aList : list) sb.append(aList);
return Long.parseLong(sb.reverse().toString());
}
}
내 코드에서 엄청 깔끔한 버전 같다... 특히 숫자 하나하나 띄우는 부분을 잘 알고 있으면 좋을 듯