{프로그래머스} 정렬 > 가장 큰 수 (Java, JavaScript ES5)
문제 링크
역시나 자바스크립트로 먼저 풀었고, 자바로 다시 풀었다.(문법외에 차이 없음)
핵심은 정렬을 하되, 문자열로 바꿔서 a와 b를 앞뒤로 바꿔 더한 값을 내림차순으로 정렬하면 된다.(정렬을 이렇게 쓰다니)
JavaScript
function solution(numbers) {
var answer = '';
var index;
for(index = 0; index < numbers.length; index = index + 1){
numbers[index] = numbers[index].toString();
}
numbers.sort(function(a, b){
return ( b + a ) - ( a + b );
});
answer = numbers[0] === '0' ? '0' : numbers.join('');
return answer;
}
Java
import java.util.Arrays;
import java.util.Comparator;
class Solution {
public String solution(int[] numbers) {
String answer = "";
String[] strings = new String[numbers.length];
for(int index = 0; index < numbers.length; index = index + 1){
strings[index] = String.valueOf( numbers[index] );
}
Arrays.sort(strings, new Comparator<String>(){
@Override
public int compare(String a, String b) {
// return a - b;
return (b + a).compareTo(a + b);
}
});
answer = strings[0].equals("0") ? "0" : String.join("", strings);
return answer;
}
}
Author And Source
이 문제에 관하여({프로그래머스} 정렬 > 가장 큰 수 (Java, JavaScript ES5)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@dev-wanted/프로그래머스-정렬-가장-큰-수저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)