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)
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 bubbleSort(numberArray, N) {
let temp;
for (let i = 0; i < N - 1; i++) {
for (let j = 0; j < N - i - 1; j++) {
if (numberArray[j] > numberArray[j + 1]) {
temp = numberArray[j];
numberArray[j] = numberArray[j + 1];
numberArray[j + 1] = temp;
}
}
}
return numberArray;
}
let sortedNumberArray = bubbleSort(numberArray, N);
for (index of sortedNumberArray) {
console.log(index);
}