[programmers] 가장 큰 수
in 기타 등등 on Coding Test
프로그래머스 가장 큰 수
자바 공부를 몇 번 해본 적이 있지만..
List, Map과 같은 Collection이 아닌
배열의 Comparator를 구현해서 돌려볼 일이 솔직히 별로 없었다 ㅠ
이참에 자바의 정석과 블로그 등의 게시물을 보며 한번 제대로 공부해 보았다
컴페어레이터 Customizing !
커스텀한 코드는 아래와 같다
Arrays.sort(nums, CustomComparator());
private Comparator<Integer> CustomComparator() {
return (o1, o2) -> {
String s1 = o1.toString();
String s2 = o2.toString();
Integer u1 = Integer.valueOf(s1 + s2);// 3 30
Integer u2 = Integer.valueOf(s2 + s1);// 30 3
return u2.compareTo(u1);
};
}
결과적으로는 무척 간단하나.. 어떤 때에 양/음 수를 반환해야하는지 고민을 하다가 시간이 갔던 것 같다..
결과적으로 양/음 둘 중 하나의 경우를 반환하면 되기에
작은 테스트 케이스 기준으로 정렬해 보면 바로 직관적으로 알 수 있다!