본문 바로가기

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

programmers code review/_step1 2021. 8. 13.
728x90

프로그래머스 1단계 Java 정수 내림차순으로 배치하기 문제입니다.


문제 설명

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

 

제한 조건

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

입출력 예

n return
118372 873211

 

문제 해결 방법

① 입력받은 정수 n의 각 자릿수를 배열에 대입

② 해당 배열을 오름차순으로 정렬

③ 정렬된 배열을 역순으로 문자열에 대입

④ 문자열을 숫자로 변환하여 반환


코드 보기
import java.util.Arrays;

class Solution {
    public long solution(long n) {
        String reverse = "";
        // ① 입력받은 정수 n의 각 자릿수를 배열에 대입
        char[] temp = Long.toString(n).toCharArray();
        // ② 해당 배열을 오름차순으로 정렬
        Arrays.sort(temp);
        for (int i = temp.length - 1; i >= 0; i--) {
            // ③ 정렬된 배열을 역순으로 문자열에 대입
            reverse += temp[i];
        }
        // ④ 문자열을 숫자로 변환하여 반환
        return Long.parseLong(reverse);
    }
}

 

※ 위 코드는 해결 방법 중 한가지이며 더 효율적인 코드가 있을 수 있습니다.

 

문제 풀어보기 ▶ https://programmers.co.kr/learn/courses/30/lessons/12933?language=java
 

코딩테스트 연습 - 정수 내림차순으로 배치하기

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

programmers.co.kr

'programmers code review > _step1' 카테고리의 다른 글

자릿수 더하기  (0) 2021.08.17
자연수 뒤집어 배열로 만들기  (0) 2021.08.17
정수 제곱근 판별  (0) 2021.08.13
제일 작은 수 제거하기  (0) 2021.08.13
짝수와 홀수  (0) 2021.08.13

댓글