본문 바로가기
코딩테스트/JAVA

[프로그래머스/JAVA] 정수 내림차순으로 배치하기

by 얼쩡 2024. 4. 17.
반응형

문제 설명
함수 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;
    }
}

 

 

반응형