ALGORITHM/Inflearn
Special Sort(버블정렬응용)
Harimad
2022. 3. 11. 16:12

버블정렬 참고 링크: 2022.03.10 - [CS/Algorithm] - 버블정렬(Bubble Sort)
문제
N개의 정수가 입력되면 입력된 값을 정렬해야 한다.
음의 정수는 앞쪽에 양의정수는 뒷쪽에 있어야 한다.
또한 양의정수와 음의정수의 순서에는 변함이 없어야 한다.
입력예제 1
3 4 1 -9 -10 1 8 -1 2 -4
출력예제 1
-9 -10 -1 -4 3 4 1 1 8 2
풀이
1. 버블정렬방식으로 풀면된다.
2. 회차별 비교 횟수를 반복할때, 조건문으로 앞의 요소는 양수이고 뒤의 요소는 음수이면 서로바꾸기를 한다.
코드
<script>
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] < 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)); //(8) [-3, -2, -6, 1, 2, 3, 5, 6]
let arr2 = [3,4,1,-9,-10,1,8,-1,2,-4]
console.log(solution(arr2)); //(10) [-9, -10, -1, -4, 3, 4, 1, 1, 8, 2]
</script>
출처
자바스크립트 알고리즘 문제풀이(코딩테스트 대비) - 인프런 | 강의
자바스크립트(JavaScript)로 코딩테스트를 준비하시는 분을 위한 강좌입니다. 재미있게 풀 수 있는 기초 단계 문제부터 고급 알고리즘까지 단계별로 차근차근 배우도록 설계된 강좌입니다., - 강의
www.inflearn.com