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으로 이어붙여 비교함
'Language > 코딩테스트' 카테고리의 다른 글
프로그래머스 Level2 - 전화번호 목록(Python) (0) | 2020.10.09 |
---|---|
프로그래머스 Level2 - 주식가격 (Python) (0) | 2020.10.04 |
프로그래머스 Level1 - 완주하지 못한 선수 (Javascript) (0) | 2020.09.29 |
프로그래머스 Level1 - 두개 뽑아서 더하기 (Javascript) (0) | 2020.09.26 |
2019 카카오 개발자 겨울 인턴십 - 크레인 인형뽑기 (Javascript) (0) | 2020.09.26 |