요즘 정신이 없어서, velog로 프로그래머스 연습 일지를 작성하지 못해 부랴부랴 한꺼번에 올려본다..
예전에 배운 Cmparator를 이번에 한번 사용하여 문제를 풀어봤다 :)
Comparator 문법 사용이 기억이 나지 않아 약간 오래걸렸던 것 같다 .. *
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
class Solution {
public long solution(long n) {
//배열 크기 지정해주지 않아도 되어 변수 사용함
List<Long> tmpList = new ArrayList<>();
String tmpString = "";
while(n!=0) {
tmpList.add(n%10);
n=n/10;
}
//내림차순 정렬
Collections.sort(tmpList,new Comparator<Long>() {
@Override
public int compare(Long o1, Long o2) {
return (int)(o2-o1);
}
});
//내림차순 정렬한 list를 tmpString에 + 연산 통해 String 타입으로 변환
for(Long item : tmpList) {
tmpString+=item;
}
//String to Long
return Long.parseLong(tmpString);
}
}