Skip to content

Latest commit

 

History

History
64 lines (45 loc) · 1.7 KB

2022-01-27-codingtest17.md

File metadata and controls

64 lines (45 loc) · 1.7 KB
title excerpt categories tags toc toc_sticky date last_modified_at
정수 내림차순으로 배치하기
프로그래머스 코딩 테스트 문제입니다. 자바를 이용하여 문제를 해결해봅시다!
programmers
CodingTest
Programmers
java
true
true
2022-01-27
2022-01-27

Programmers_codingTest [17]

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

문제설명

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

제한사항

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

문제에 대한 생각

정수를 문자열로 변환하여 각 값을 정렬한다.

풀이


import java.util.*;

class Solution {
    public long solution(long n) {
        long answer = 0;
        
        String num = Long.toString(n);
        String[] arr = num.split("");
        
        Arrays.sort(arr, Collections.reverseOrder());
        
        String temp = String.join("", arr);
        answer = Long.parseLong(temp);
        
        return answer;
    }
}

toString()을 이용해 정수를 문자열로 변환하였다.
변환된 문자열을 split을 통해 각각 arr에 배치하였다.
배열을 내림차순으로 정리하고 join()으로 합친 후
parseLong()을 사용하여 숫자형태(long)으로 변환하였다.

출처

프로그래머스 코딩테스트 연습 : 정수 내림차순으로 배치하기
https://programmers.co.kr/learn/courses/30/lessons/12933