baekjoon

[Baekjoon] 2751번 : 수 정렬하기 2 문제풀이 (Node.js)

개발하는 몽이 2023. 6. 23. 09:57

https://www.acmicpc.net/problem/2751

문제

N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.

입력

첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.

출력

첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.

코드

const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
const input = require('fs')
  .readFileSync(filePath)
  .toString()
  .trim()
  .split('\n')
  .map(Number);

const N = input.shift();
input.sort((a, b) => a - b);

console.log(input.join('\n'));

풀이

  1. sort함수를 사용해서 수를 오름차순으로 정렬
  2. 정렬된값을 join함수로 줄바꿈하여 출력

반복문을 사용하여 순차적으로 값을 출력하려 했지만 시간초과
console.log를 결과적으로 5번출력해야 하기때문에 시간이 오래걸린다.
=> console.log를 한번만 사용하고 join함수로 줄바꿈하여 출력