본문 바로가기

프로그래머스

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

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

class Solution {
public long solution(long n) {
long answer = 0;

String nStr = String.valueOf(n);
/**
* Collections.reverseOrder()를 사용하기 위해 Integer로 선언
*/
Integer[] arrs = new Integer[nStr.length()];

for (int i = 0; i < nStr.length(); i++) {
arrs[i] = nStr.charAt(i) - 48;
}

/**
* 내림차순 정렬
*/
Arrays.sort(arrs, Collections.reverseOrder());

for (int i = 0; i < arrs.length; i++) {
answer += arrs[i] * Math.pow(10, arrs.length - 1 - i);
}

return answer;
}
}


다른 사람 코드 - String.split(구분자), String.join(구분자, 배열)

long n = 112342;

/**
* String.aplit()을 사용해 배열 []에 삽입
*/
String[] arr = (String.valueOf(n)).split("");

/**
* String.join()을 사용해 배열 [] -> String
*/
String s = String.join("", arr);
int result = Integer.parseInt(s);