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

정병웅·2023년 2월 5일
0

알고리즘 스터디

목록 보기
7/14

문제 설명

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

코드 풀이

class Solution {
    public long solution(long n) {
        long answer = 0;
        //n을 String 배열로 변환
        //임시 사용 문자열 생성
        //문자열을 내림차순으로 정렬
        String[] nStr = String.valueOf(n).split("");
        String tempStr = "";
        Arrays.sort(nStr);
        for(int i=nStr.length-1;i>=0;i--){
            tempStr += nStr[i];
        }
        answer = Long.parseLong(tempStr);
        return answer;
    }
}

-> 여기서는 내림차순으로 정렬을 위해서 reverseOrder()의 함수를 사용하려 했지만 해당 함수는 Integer 타입만 지원한다해서 for 문으로 내림차순 정렬 시켰다,,
i의 값은 0부터 시작되기 때문에 문자열의 길이에서 마지막 인덱스 위치를 위해 -1을 한 값으로 초기화 했다.
그 후 long 타입 변환을 위하여 Long.parseLong(변환시킬 문자열) 메서드를 사용해 변환 했다.

이 문제도 헤매는 나는 아직 멀었다,,,,

profile
인생은 IT 노가다

0개의 댓글