본문 바로가기

Algorithm/programmers

[Lv 1] 정수 내림차순으로 배치하기 / JAVA

문제

[ 문제 설명 ]

함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.

 

[ 제한 조건 ]

  • n은 1이상 8000000000 이하인 자연수입니다.

 

 

 

풀이

더보기
import java.util.*;

class Solution {
    public long solution(long n) {
        long answer = 0;
        String a = "";
        a += n;
        char[] arr = new char[a.length()];
        // 잘라서 배열에 넣기
        for (int i = 0; i < arr.length; i++) {
        	arr[i] = a.charAt(i);
		}
     // 내림차순 정렬 
        for (int j = 0; j < arr.length-1; j++) {
        	for (int i = 0; i < arr.length-1; i++) {
        		// 뒤의 값이 더크면 자리를 바꿔준다
    			if((int)arr[i]<(int)arr[i+1]) {
    				char temp = arr[i];
    				arr[i] = arr[i+1];
    				arr[i+1] = (char)temp;	
    			}
    		}
		}
        answer = Long.parseLong(String.valueOf(arr));
        return answer;
    }
}
728x90
반응형