[백준] 2750 수 정렬하기

김영현·2024년 9월 4일

백준

목록 보기
2/40
post-thumbnail

🌭 문제 설명

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

🍗 제한 사항

  • 없음

🎁 입출력 예시

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

😎 나의 풀이

let fs = require('fs');
let input = fs.readFileSync('input.txt').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);

  1. N을 Number로 숫자로 바꿔준다.
  2. 1~N 까지(0은 N이기 때문) input의 값을 숫자로 바꿔서 arr 배열에 넣어준다.
  3. arr을 sort로 오른 차순 정렬해준다.
  4. 값을 출력하기 위한 answer를 선언하고 arr을 for문을 돌면서 answer에 줄바꿈 \n을 추가해서 넣어주고 값을 출력한다.

🧵 다른 풀이

let input = require("fs")
  .readFileSync("/dev/stdin")
  .toString()
  .trim()
  .split("\n");

input.shift();

input = input.sort((a, b) => a - b).join("\n");

console.log(input);
  1. input을 shift함수를 써서 맨앞의 요소인 N을 없애준다.
  2. input을 오름차순 정렬한 뒤 \n을 input 값에 넣어 출력한다.

  • shift를 쓸 줄은 생각도 못했다.
profile
학생의 자세로 살아가는 개발자

0개의 댓글