[Node.js] 백준 #2750 : 수 정렬하기

전인혁·2022년 5월 29일
1

백준 Algorithm

목록 보기
4/5
post-thumbnail
post-custom-banner

문제분류

정렬

문제

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

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


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

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


예제 입력 1

5
5
2
3
4
1

예제 출력 1

1
2
3
4
5

Solution

  • 입력 데이터 가공
    수의 개수 N을 변수 N에 저장하고, 그 다음에 오는 N개의 숫자를 newInput[]에 push 한다.

  • 정렬 함수 구현 (오름차 순)
    2중 for loop를 사용하여 첫번째 원소와 다음 원소를 비교하고, 다음 원소가 현재 원소보다 작다면 현재 원소와 자리를 바꾼다.

  • 결과 출력
    sort()로 newInput[]를 오름차 순으로 정렬하고, 정렬된 원소를 합쳐서 console에 출력한다.


코드

// 입력모듈 "fs" 불러오기
const fs = require("fs");
const input = fs.readFileSync("./dev/stdin").toString().trim().split("\n");

// 입력 데이터 가공
let N = parseInt(input[0]);
let newInput = [];
for (let i = 1; i <= N; i++) newInput.push(parseInt(input[i]));

// 정렬 함수 구현(오름차 순)
function sort(arr) {
  let tmp = 0;
  for (let i = 0; i < arr.length; i++)
    for (let j = i + 1; j < arr.length; j++)
      if (arr[i] > arr[j]) {
        tmp = arr[i];
        arr[i] = arr[j];
        arr[j] = tmp;
      }
  return arr;
}

// Solution 함수
function Solution(newInput) {
  newInput = sort(newInput);
  console.log(newInput.join("\n"));
}

// Solution 함수 실행
Solution(newInput);
profile
Front-end Developer
post-custom-banner

0개의 댓글