카테고리 없음
[Programmers] 정수 내림차순으로 배치하기
주니어주니
2023. 8. 1. 20:41
* 내풀이
머리가 안돌아가서 굉장히 이상하게 풀었다
import java.util.*;
class Solution {
public long solution(long n) {
String s = Long.toString(n); // "118372"
int[] arr = new int[s.length()];
int max = 0;
for(int i=0; i<s.length(); i++) {
arr[i] = s.charAt(i) - '0'; // [1,1,8,3,7,2]
max = Math.max(max, arr[i]);
}
for(int i=0; i<arr.length-1; i++) {
for(int j=i+1; j<arr.length; j++) {
if (arr[i] < arr[j]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp; // [8,7,3,2,1,1]
}
}
}
String arrToStr = "";
for(int i=0; i<arr.length; i++) {
arrToStr += arr[i];
}
return Long.parseLong(arrToStr);
}
}
* 다른사람 풀이
import java.util.*;
class Solution {
public long solution(long n) {
String[] arr = String.valueOf(n).split("");
Arrays.sort(arr);
StringBuilder sb = new StringBuilder();
for(String s : arr) {
sb.append(s);
}
return Long.parseLong(sb.reverse().toString());
}
}
StringBuilder !!