반응형
문제 설명
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
제한 조건
n은 1이상 8000000000 이하인 자연수입니다.
입출력 예
n | return |
118372 | 873211 |
class Solution {
public long solution(long n) {
long answer = 0;
String str = String.valueOf(n); // n을 String으로 변환
char[] charArray = str.toCharArray(); // String을 char[]로 변환
char c;
for(int i=0; i<str.length(); i++) {
for(int j=i+1; j<str.length(); j++) {
if(charArray[j] > charArray[i]) { // 큰 수를 앞으로 변경
c = charArray[j];
charArray[j] = charArray[i];
charArray[i] = c;
}
}
}
answer = Long.parseLong(new String(charArray)); // 변환 순서 : char[] -> String -> Long
return answer;
}
}
반응형
'코딩테스트 > JAVA' 카테고리의 다른 글
[프로그래머스/JAVA] 짝수의 합 (1) | 2024.04.17 |
---|---|
[프로그래머스/JAVA] 정수 제곱근 판별 (1) | 2024.04.17 |
[프로그래머스/JAVA] 자연수 뒤집어 배열로 만들기 (1) | 2024.04.17 |
[프로그래머스/JAVA] 자릿수 더하기 (1) | 2024.04.17 |
[프로그래머스/JAVA] x만큼 간격이 있는 n개의 숫자 (1) | 2024.04.17 |