티스토리 뷰

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

프로그래머스 12933번 - https://programmers.co.kr/learn/courses/30/lessons/12933

 

요구사항

1. 정수 n의 각 자릿수를 내림차순으로 정렬한 새로운 정수를 반환하라.

 

요구사항 분석 및  풀이과정

1. 정수의 n의 각 자릿수를 구하기 위하여 이전에 한번 사용했던 10진법 표기 방법을 이용하여 구한다.

2. 구한 정수의 각 자릿수를 오름차순을 정렬한다.

3. 오름차순으로 정렬한 이유는 base를 역순으로 곱해줄 것이기 때문이다.

 

소스코드 작성

import java.util.List;
import java.util.ArrayList;
import java.util.Collections;
import java.util.stream.LongStream;

class Solution {
    public long solution(long n) {
        List<Integer> elements = new ArrayList<>();
        
        while (n != 0) {
            elements.add((int)(n % 10));
            n /= 10;
        }

        Collections.sort(elements);
        return LongStream.range(0L, elements.size()).map(i -> (elements.get((int)i) * (long)Math.pow(10L, i))).sum();
    }
}

 

 

소스코드 깃허브 주소

링크

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함