Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags more
Archives
Today
Total
관리 메뉴

luke

[프로그래머스] - 정수 내림차순으로 배치하기 본문

알고리즘문제/프로그래머스(Java)

[프로그래머스] - 정수 내림차순으로 배치하기

luke-king 2024. 1. 24. 11:13

 

 

 

 

 

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

 

프로그래머스

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

programmers.co.kr

 

 

 

 

 

 

문제.


 

 

 

 

 

풀이.


 

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

        Arrays.sort(str);

        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < str.length; i++) {
            sb.append(str[i]);
        }
    
        return Long.parseLong(sb.reverse().toString());
    }
}

생각보다 어렵지 않은 문제였다!!

우선 문제를 읽어보면 n값을 내림차순으로 정렬하는 것이라고 하니 바로 봐보겠다.

1. n값을 오름차순으로 정렬 해주기 위해 형변환후 split() 메서드를 사용해 하나씩 잘라줬다.

2. 다음 문자열을 더해주기 위해 StringBuilder를 사용해 객체를 생성해준다.

3. append 를 통해 str배열의 인덱스 0 번부터 마지막까지 합진다.

4. reverse를 통해 내림차순으로 바꿔주고 타입은 long타입이기 때문에 형변환을 해준다.

 

끄읏!