2751번: 수 정렬하기 2
마지막 업데이트
1
2
3
4
5let fs = require('fs');
const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
let input = fs.readFileSync(filePath).toString().split('\n');
function solution(data) {
let numbers = [];
for (let i = 1; i <= input.length; i++) {
numbers.push(Number(input[i]));
}
numbers.sort((a, b) => a - b);
let answer = '';
for(let i = 0; i < numbers.length; i++) {
answer += numbers[i] + '\n';
}
console.log(answer);
}
solution(input);
// 오답
/*
0
8
NaN
*/ for (let i = 1; i <= input.length; i++) {
numbers.push(Number(input[i]));
}let fs = require('fs');
const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
let input = fs.readFileSync(filePath).toString().split('\n');
function solution(data) {
let numbers = [];
for (let i = 1; i <= input.length; i++) {
numbers.push(Number(input[i]));
}
numbers.sort((a, b) => a - b);
let answer = '';
for(let i = 0; i < numbers.length; i++) {
answer += numbers[i] + '\n';
}
console.log(answer);
}
solution(input);// 데이터의 갯수가 1,000,000이므로, 시간복잡도 O(NlogN)인 정렬 알고리즘을 사용해야 합니다.
// O(N^2)인 선택 정렬은 시간초과가 발생할 수 있습니다.
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split('\n');
let n = Number(input[0]);
let arr = [];
for (let i = 1; i <= n; i++) {
arr.push(Number(input[i]));
}
arr.sort((a, b) => a - b);
let answer = '';
for (let i = 0; i < arr.length; i++) {
answer += arr[i] + '\n';
}
console.log(answer);