Sort함수를 이용하여, 두 수를 연결한 값을 비교하여, 큰 수 대로 나열하자
function solution(numbers) {
var answer = '';
var stack = [];
numbers = numbers.map((d)=>d.toString());
// 순서가 30, 3 일 경우에, a =30, b = 3이다.
// b+a => '330', a+b => 330 - 303 > 0 이다.
//따라서 순서를 3, 30으로 재정렬한다.
numbers.sort((a,b)=>((b+a)-(a+b)))
answer = numbers.join('');
if(parseInt(answer) == 0){
return "0"
}else{
return answer;
}
}
sort함수의 작동원리를 알게 되었고, sort함수가 단순히 두 수의 크기를 비교하여 재정렬할 뿐 만 아니라 합쳐진 두 수의 합쳐진 값으로 크기를 비교하여 재정렬 할 수 있음을 알게되었다.