Hayden's Archive
[알고리즘] 프로그래머스 : 정수 내림차순으로 배치하기 본문
알고리즘 문제 출처 : 프로그래머스 https://programmers.co.kr/learn/courses/30/lessons/12933
내가 작성한 코드
long형을 String형으로 바꿨고 long[] 배열을 임시로 만들어 거기에 substing을 통해 n번씩 잘라진 String형을 다시 long형으로 바꾸어 넣었다. 그리고 Arrays 클래스의 sort() 메소드로 오름차순으로 정렬하였고(이 클래스에 내림차순으로 정렬하는 메소드는 없다. 다른 클래스에는 있을지도...) 마지막 인덱스부터 시작해서 큰값부터 뽑아내어 answer에 10^n배를 하여 더해줬다.
import java.util.Arrays;
class Solution {
public long solution(long n) {
long answer = 0;
String temp = Long.toString(n);
long[] tList = new long[temp.length()];
for(int i = 0; i < tList.length; i++) {
tList[i] = Long.parseLong(temp.substring(i, i+1));
}
Arrays.sort(tList);
for(int i = tList.length-1; i >= 0; i--) {
answer += tList[i] * Math.pow(10, i);
}
return answer;
}
}