알고리즘 공부/프로그래머스

프로그래머스 코딩테스트 연습 - 연습문제 - 정수 내림차순으로 배치하기

HRuler 2020. 10. 6. 20:26

1. 문제

문제 설명

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

제한 조건

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

2. 나의 풀이

import java.util.Arrays;
import java.util.Collections;


class Solution {
    public long solution(long n) {
        long answer = 0;
		String imsi = "" + n;
		String [] imsi1 = imsi.split("");
		Arrays.sort(imsi1, Collections.reverseOrder());
		imsi = "";
		for(int i = 0; i < imsi1.length; i = i + 1) {
			imsi += imsi1[i];
		}
		answer = Long.parseLong(imsi);
		return answer;
    }
}

3. 다른 사람 풀이

public int reverseInt(int n){
	res = "";
	Integer.toString(n).chars().sorted().forEach(c -> res = Character.valueOf((char)c) + res);
	return Integer.parseInt(res);
}