N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.
첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.
첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.
5
5
2
3
4
1
1
2
3
4
5
거품 정렬은 O(N^2)의 시간복잡도를 가집니다.
Worst : O(N^2)
Average : O(N^2)
Best : O(N^2)
const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');
let N = Number(input.shift());
let numberArray = input.map(Number);
function selectionSort(numberArray, N) {
let min;
for (let i = 0; i < N - 1; i++) {
min = i;
let temp;
for (let j = i + 1; j < N; j++) {
if (numberArray[j] < numberArray[min]) {
min = j;
}
}
temp = numberArray[min];
numberArray[min] = numberArray[i];
numberArray[i] = temp;
}
return numberArray;
}
let sortedNumberArray = bubbleSort(numberArray, N);
for (index of sortedNumberArray) {
console.log(index);
}