[Programmers]-가장 큰 수(정렬)
문제
다시풀어보는 문제이다.
“코딩테스트 고득점 Kit - 정렬” 문제이다.
코드
import java.util.ArrayList;
import java.util.Collections;
class Solution {
public String solution(int[] numbers) {
String answer = "";
ArrayList<String> list = new ArrayList<String>();
for(int i=0;i<numbers.length;i++) list.add(Integer.toString(numbers[i]));
Collections.sort(list, (String s1, String s2) -> {
return (s2+s1).compareTo(s1+s2);
});
if("0".equals(list.get(0))) return "0";
for(int i=0;i<list.size();i++) answer+=list.get(i);
return answer;
}
}
다시푼 코드
import java.util.ArrayList;
import java.util.Collections;
class Solution {
public String solution(int[] numbers) {
String answer = "";
ArrayList<String> list = new ArrayList<>();
for(Integer number : numbers)
list.add(""+number);
Collections.sort(list, (o1, o2) -> (o2+o1).compareTo(o1+o2));
if(list.get(0).equals("0")) return "0";
for(String number : list)
answer += number;
return answer;
}
}
요약
빨라지긴 했다.
코드 내용은 달라진것이 없다.
람다식을 조금 이해했다.