-
Programmers LV.2 가장 큰 수Programmers 2020. 12. 29. 21:43
경우의 수를 어떻게 조합해야하지 계속 고민하고있었는데,
그럴필요없이 Compare로 내림차수로 내리면 되는 문제였다.
@org.junit.Test public void stringIntValueReversOrder(){ int[] numbers = {0, 5, 10, 15, 20}; String[] array = new String[numbers.length]; for(int a=0; a<numbers.length; a++){ array[a] = String.valueOf(numbers[a]); } Arrays.sort(array, new Comparator<String>() { @Override public int compare(String o1, String o2) { return (o2+o1).compareTo((o1+o2)); } }); String answer = ""; if(array[0].equals("0")){ answer = "0"; }else{ for(String b : array){ answer += b; } } System.out.println(answer); }
내림차수로 내렸을때, 제일 먼저뽑히는 값이 0이라면, 모든 String이 0일 것이기에, answer는 0으로 바꾸는게 맞다.
'Programmers' 카테고리의 다른 글
Programmers LV.2 카펫 (0) 2020.12.30 Programmers LV.1 모의고사 (0) 2020.12.30 Programmers LV.1 K번째수 (0) 2020.12.29 Programmers LV.3 디스크 컨트롤러 (0) 2020.12.29 Programmers LV.2 더 맵게 (0) 2020.12.28