n개의 정수를 가진 배열이 있다. 이 배열은 양의 정수와 음의 정수를 모두 가지고 있다. 이 배열을 좀 특별한 방법으로 정렬해야 한다. 음의 정수는 앞쪽에 내림차순으로, 양의 정수는 뒤쪽에 있어야 한다. 단, 인수로 주어진 원본 배열은 변경되지 않아야 한다.
예를 들어, [-1, 1, 3, -2, 2, 0]이 주어졌을 때, [-1, -2, 0, 1, 2, 3]를 반환한다.
function specialSort(array) {
}
const testArray = [-1, 1, 3, -2, 2, 0];
console.log(testArray); // [ -1, 1, 3, -2, 2, 0 ]
console.log(specialSort(testArray)); // [ -1, -2, 0, 1, 2, 3 ]
풀이
function specialSort(array) {
const arr = [...array];
return arr.sort((a, b) => {
if (a < 0 && b < 0) return a < b ? 1 : a > b ? -1 : 0;
return a > b ? 1 : a < b ? -1 : 0;
});
}
const testArray = [-1, 1, 3, -2, 2, 0];
console.log(testArray); // [ -1, 1, 3, -2, 2, 0 ]
console.log(specialSort(testArray)); // [ -1, -2, 0, 1, 2, 3 ]
'JAVASCRIPT > 자바스크립트 알고리즘' 카테고리의 다른 글
자바스크립트 '일주일 날짜 구하기' (0) | 2020.10.31 |
---|---|
자바스크립트 '요일 구하기' (0) | 2020.10.31 |
자바스크립트 '최단 거리 1차원 점의 쌍 구하기 (DAUM)' (0) | 2020.10.30 |
자바스크립트 '평균 구하기' (0) | 2020.10.30 |
자바스크립트 '배열에서 특정 값만을 구하기' (0) | 2020.10.30 |