문제
N개의 정수를 정렬해야 한다. 음의 정수는 앞쪽에 양의정수는 뒷쪽에 있어야 한다. 또한 양의정수와 음의정수의 순서에는 변함이 없어야 한다. 숫자 0은 입력되지 않는다.
풀이
function solution(arr) {
let answer = arr;
for (let i = 0; i < answer.length - 1; i++) {
for (let j = 0; j < answer.length - 1 - i; j++) {
if (answer[j] > answer[j + 1]) {
if (answer[j] > 0 && answer[j + 1] < 0) {
[answer[j], answer[j + 1]] = [answer[j + 1], answer[j]];
}
}
}
}
return answer;
}
let arr = [1, 2, 3, -3, -2, 5, 6, -6];
console.log(solution(arr));
현재 숫자가 양수고, 다음 숫자가 음수이면 자리를 바꿔준다.
'코딩테스트 문제풀이 > inflearn' 카테고리의 다른 글
[인프런] Node.js / 섹션7-정렬과 그리디, 결정알고리즘 / 5. Least Recently Used(카카오 캐시 문제 변형) (0) | 2023.02.15 |
---|---|
[인프런] Node.js / 섹션7-정렬과 그리디, 결정알고리즘 / 4. 삽입정렬 (0) | 2023.02.15 |
[인프런] Node.js / 섹션7-정렬과 그리디, 결정알고리즘 / 2. 버블정렬 (0) | 2023.02.15 |
[인프런] Node.js / 섹션7-정렬과 그리디, 결정알고리즘 / 1. 선택정렬 (1) | 2023.02.15 |
[인프런] Node.js / 섹션6-자료구조(큐) / 7. 교육과정 설계 (0) | 2023.02.10 |