원본 문제 : https://programmers.co.kr/learn/courses/30/lessons/12933
문제 설명
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
제한 조건
- n은 1이상 8000000000 이하인 자연수입니다.
입출력 예
n ; return
118372 | 873211 |
import java.util.Arrays;
import java.util.Comparator;
class Solution {
public long solution(long n) {
String str = Long.toString(n);
String strArr[] = str.split("");
Arrays.sort(strArr, new Comparator<String>() {
@Override
public int compare(String arg0, String arg1) {
int n1 = Integer.parseInt(arg0);
int n2 = Integer.parseInt(arg1);
if(n1 > n2)
return -1;
else if(n1 < n2)
return 1;
return 0;
}
});
str = "";
for(String s : strArr)
str += s;
return Long.parseLong(str);
}
}
'프로그래머스 > 코딩연습1' 카테고리의 다른 글
[프로그래머스] 제일 작은 수 제거하기 (java)(12935) (0) | 2019.06.03 |
---|---|
[프로그래머스] 정수 제곱근 판별 (java)(12934) (0) | 2019.06.03 |
[프로그래머스] 자연수 뒤집어 배열로 만들기 (java)(12932) (0) | 2019.06.03 |
[프로그래머스] 자릿수 더하기 (12931)(java) (0) | 2019.06.03 |
[프로그래머스] 이상한 문자 만들기 (12930)(java) (0) | 2019.05.31 |
댓글