프로그래머스 정렬 Level 2 - 가장 큰 수
function solution(numbers) {
var answer = '';
answer = numbers.map(num => num += '')
.sort((a, b) => (b + a) - (a + b))
.join('');
return answer[0] === '0' ? '0' : answer;
}
- 혼자서 생각하다가 도저히 해결이 안돼서 풀이를 참조했다....
- 이 문제의 핵심은 sort 함수를 활용하는 방법!!
- (b + a) 과 (a + b) 를 비교해서 내림차순으로 정렬해준다
- 그리고 join 메소드로 배열의 값들을 하나의 문자열로 만들어 준다
- answer 가 0으로만 이루어진 경우(ex. '0000...')을 대비하여 첫 번째 글자가 0일 경우 '0'을 return!
- sort 메소드 활용 방법은 유용할 것 같으니 꼭 외워둘 것!