정렬은 그래도 최근에 1문제는 풀었었네요!
그래서 그나마 좀 이해하는 게 어제보다는 나았던 거 같아요.
다만 자바스크립트의 정렬 작동과정이 좀 어려워서, (개인차가 있겠지만)
이를 좀 주의하신다면 푸실 수 있을 거 같아요!
그럼 시작합니다~~~
- 결국에 간단하다. 정렬 기준은 합쳤을 때 그냥 더 큰 결과가 나오게끔만 정렬한다.
- 리턴값 체크! 문자열이다. 결국 합칠 때
join
이 수월하다.- 예외가 있다! 만약에 [0,0,0]이
argument
였다면, 결과는000
이 나올 것이다. 이만 주의하면 해결!
생각보다 짧죠?
그래서 코드는 더 짧습니다...
const solution = (numbers) =>
numbers.every(number => number === 0) ?
"0" :
numbers.sort((a, b) => {
const [ strA, strB ] = [ a.toString(), b.toString() ];
return parseInt(strB + strA) - parseInt(strA + strB)
}).join("");
네, 맞았습니다!
후, 어제 숙취 때문에 오늘 코딩이 힘드네요...
숙취 머... 멈춰!🖐🏻