카테고리 없음

[JS / 백준] - (정렬) - 2750번 수 정렬하기

미니미니찍찍 2022. 6. 20. 22:26

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

 

2750번: 수 정렬하기

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

www.acmicpc.net

 

 

 

오랫만에 알고리즘 문제를 풀어보았는데

역시 간만에 풀려니 좀 많이 헤맷다 ㅜㅜㅜ

이번에 알고리즘 스터디에 들어가게 되었는데

다들 경험이 없어서 처음에는 가장 쉽다? 라고 느끼는 정렬 문제를 풀어보았다.

문제

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

출력

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

내풀이

1. readline 방식

const readline = require('readline');
const rl = readline.createInterface({
    input : process.stdin,
    output : process.stdout,
});

let N = 0;
let input = [];
let result = [];
rl.on('line',function(line){
    if(N === 0){
        N = line;
    } else {
        input.push(line);
        if(input.length === parseInt(N)){
            result = Array.from(new Set(input)).sort((a,b)=> a- b);
            result.forEach(e => console.log(e));
            rl.close();
        }
    } 
});

 

 

 

2. readFileSync 방식

const fs = require('fs')
const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n').map(e => Number(e));

input.shift();
input.sort((a,b) => a-b);
input.forEach((e)=> console.log(e))
728x90
반응형