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

Bob·2021년 10월 24일
0

algorithm level1

목록 보기
38/38

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

문제 설명

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

제한 조건

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

입출력 예

나의 풀이

import java.util.Arrays;

public class Solution {

	public long solution(long n) {
		int length = (int) Math.log10(n) + 1;
		int[] numbers = new int[length];
		
		for(int i = 1; i <= length; i++) {
			numbers[i-1] = (int) (n % (Math.pow(10, i)) / Math.pow(10, i-1));
		}
		Arrays.sort(numbers);
		
		String answer = "";
		for(int i = length - 1; i >= 0; i--) {
			answer += numbers[i];
		}
		
        return Long.parseLong(answer);
    }
}

다른 사람의 풀이

import java.util.*;

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

        StringBuilder sb = new StringBuilder();
        for (String aList : list) sb.append(aList);

        return Long.parseLong(sb.reverse().toString());
  }
}

0개의 댓글

관련 채용 정보