Lv.1 정수 내림차순으로 배치하기

서현우·2022년 5월 5일
0

알고리즘 풀이

목록 보기
25/31

문제 설명

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

초기코드

class Solution {
    public long solution(long n) {
        long answer = 0;
        return answer;
    }
}

내 풀이

//버블정렬 사용
//자바의정석 3판 다시 보면서 품
//다시 체크 요망

class Solution {
    public long solution(long n) {
        long answer = 0;
        String str = String.valueOf(n);
        char[] chArr = str.toCharArray();
        
        for(int i=0;i<chArr.length-1;i++) {
        	boolean changed = false;
        	
        	for(int j=0;j<chArr.length-1-i;j++) {
        		if(chArr[j]<chArr[j+1]) {
        			char tmp = chArr[j];
        			chArr[j] = chArr[j+1];
        			chArr[j+1] = tmp;
        			changed = true;
        		}
        	}
        	if(!changed) break;      
        }
        String str2 = String.valueOf(chArr);
        answer = Long.valueOf(str2);
        return answer;
    }
}
profile
안녕하세요!!

0개의 댓글