본문 바로가기
Algorithm/Programmers

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

by 동그란 혜주 2019. 5. 31.

· 문제 설명

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

 

· 제한 조건

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

 

· 입출력 예

n return
118372 873211

 


· Thinking 1

1. ArrayList에 하나씩 담은 후 sort

2. 다시 reverse


· 완성 코드

import java.util.ArrayList;
import java.util.Collections;

class Solution {
  public long solution(long n) {
      String num = String.valueOf(n);
      ArrayList<String> temp = new ArrayList<String> (num.length());
      
      for (int i =0; i < num.length(); i++) {
         temp.add(Character.toString(num.charAt(i)));
      }
      num = "";
      
      Collections.sort(temp);
      Collections.reverse(temp);
      for (int i = 0; i < temp.size(); i++) {
          num += temp.get(i);
      }
      System.out.println(num);
      
      return Long.parseLong(num);
  }
}

 


· 문제 출처

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

 

알고리즘 연습 - 정수 내림차순으로 배치하기 | 프로그래머스

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

programmers.co.kr

 

'Algorithm > Programmers' 카테고리의 다른 글

제일 작은 수 제거하기  (0) 2019.05.31
정수 제곱근 판별  (0) 2019.05.31
자연수 뒤집어 배열로 만들기  (0) 2019.05.31
자릿수 더하기  (0) 2019.05.31
이상한 문자 만들기  (0) 2019.05.31

댓글