문제요약
n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해라
n이 118372면 873211을 리턴
입출력
n | return |
118372 | 873211 |
문제풀이
버블 정렬을 이용한 풀이
import java.util.*;
class Solution {
public long solution(long n) {
long answer = 0;
String str = String.valueOf(n);
Long[] arr = new Long[str.length()];
for(int i=0; i<str.length(); i++){
arr[i] = Long.parseLong(String.valueOf(str.charAt(i)));
}
for(int i=0; i<arr.length; i++){
for(int j=0; j<arr.length -1 -i; j++){
if(arr[j] < arr[j+1]){
long temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
String str1 = "";
for(int y=0; y<arr.length; y++){
str1 += ""+arr[y];
}
answer = Long.parseLong(str1);
return answer;
}
}
reverse 메서드를 이용한 풀이
import java.util.*;
class Solution {
public long solution(long n) {
long answer = 0;
String str = String.valueOf(n);
String[] arr = new String[str.length()];
for(int i=0; i<str.length(); i++){
arr[i] = String.valueOf(str.charAt(i));
}
Arrays.sort(arr);
str = "";
for(int j=0; j<arr.length; j++){
str += arr[j];
}
StringBuffer buffer = new StringBuffer(str);
buffer.reverse();
answer = Long.parseLong(buffer.toString());
return answer;
}
}
'프로그래머스' 카테고리의 다른 글
Lv1 같은 숫자는 싫어 (0) | 2025.07.11 |
---|---|
Lv1 문자열 내림차순으로 배치하기 (1) | 2025.07.09 |
Lv0 정수를 나선형으로 배치하기 (0) | 2025.07.01 |
Lv 0 주사위 게임 1 (0) | 2025.06.29 |
Lv0 무작위로 K개의 수 뽑기 (1) | 2025.06.25 |