프로그래머스 Level2 - 가장 큰 수 (Javascript)
Language/코딩테스트

프로그래머스 Level2 - 가장 큰 수 (Javascript)

Level2 - 가장 큰 수

 

1
2
3
4
function solution(numbers) {
    let answer = numbers.sort((a, b) => `${b}${a}` - `${a}${b}`).join('');
    return answer[0=== '0' ? '0' : answer;
}
cs

 

코딩테스트 문제풀이를 시작했는데.. 하루종일 고민하다가 답을 확인하고 현타가옴

sort 함수 내부동작에 대해 알게되는 계기가 되었다. `${b}${a}` - `${a}${b}`  의 의미는 sort 함수는 기본적으로 두개의 인자를 받는데(값 비교하기위해서) 문제에서는 값 자체크기 비교가 아닌 숫자를 이어 붙였을 때, 크기를 비교함. 

그래서 템플릿 리터럴을 이용해서 string으로 이어붙여 비교함