본문 바로가기
코드문제풀이/JAVA

[자바] 정수 내림차순으로 배치하기

by 똥쟁이핑크 2023. 8. 18.

https://school.programmers.co.kr/learn/courses/30/lessons/12933

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제설명

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

 

제한 조건

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

 

나의 문제 풀이

1) n에 저장된 값을 문자열 배열 a에 넣었다.

2) a에 들어간 값을 정렬시켰다.

3) StringBuilder를 사용해서 a의 값을 append했다.

4) sb에 들어간 값을 숫자로 바꾸기 전에 reverse하여 내림차순 정리를 했다.

import java.util.Arrays;

class Solution {
    public long solution(long n) {
        String[] a = String.valueOf(n).split("");
        Arrays.sort(a);

        System.out.println(Arrays.toString(a));
        
        StringBuilder sb = new StringBuilder();
        for(String list : a){
            sb.append(list);
        }
        
        return  Long.parseLong(sb.reverse().toString());
        
        
    }
}

'코드문제풀이 > JAVA' 카테고리의 다른 글

[자바] 두 정수 사이의 합  (0) 2023.08.18
[자바] 하샤드 수  (0) 2023.08.18
[자바] 제곱근 판별  (0) 2023.08.18
[자바] 문자열을 정수로 바꾸기  (0) 2023.08.18
[자바] 자연수 뒤집어 배열로 만들기  (0) 2023.08.18