반응형

1. 문제 설명

- 함수 solution은 정수 n을 매개변수로 입력받습니다.

- n의 각 자릿수큰 것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요.

- 예를들어 n이 118372면 873211을 리턴하면 됩니다.

 

 

2. 제한 조건

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

 

 

3. 입출력 예

 

n return
118372 873211

 

 

4. 문제 풀이 코드

import java.util.*;

class Solution {

    public long solution(long n) {
    
        long answer = 0;
        String[] str = String.valueOf(n).split("");
        
        Arrays.sort(str);
        Collections.reverse(Arrays.asList(str));
        
        answer = Long.parseLong(String.join("", str));
        
        return answer;
        
    }
    
}

- 정수 각 자릿수가 큰 순서대로 정렬한 코드입니다.

 

- 먼저 String 배열을 선언하여 파라미터로 받은 정수 n의 각 자릿수를 배열에 하나씩 넣었습니다.

- for문을 생성하지 않고, split 함수를 통해 배열에 넣은 코드입니다.

 

- 그 다음 Arrays.sort()를 활용하여 배열을 오름차순으로 정렬했습니다.

- 정렬된 배열을 reverse()를 사용하여 내림차순으로 정렬했습니다.

 

- 마지막으로 join 함수를 사용하여 하나의 String으로 만들었고, 만든 String을 다시 정수로 변환했습니다.

- 이렇게 변환된 answer를 return 해주면 문제가 끝납니다.

 

 

 


이상으로 프로그래머스 Level 1. 정수 내림차순으로 배치하기 문제를 JAVA 언어로 풀어보았습니다.


 

반응형