TIL 51 | 자바스크립트로 알고리즘 - 입출력 방법

Gom·2021년 4월 13일
0

Algorithm

목록 보기
23/48
post-thumbnail

JavaScript 알고리즘 문제풀이

입출력 방식


1. readline 모듈

1-1. 한 줄 입력

const readline = require('readline');

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

rl.on('line', function(line) {
  console.log(line); //

  rl.close();
}).on("close", function() {
  process.exit();
});

1-2. 여러 줄 입력

const readline = require('readline');

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

let input = [];

rl.on('line', function (line) {
  input.push(line)
})
  .on('close', function () {
  console.log(input);
  process.exit();
});

2. fs 모듈

시스템에 따라 stdin의 경로가 다를수도 있기에 주의가 필요함.
속도가 더 빠르나 보편적으로 사용하기 어려울 수 있음.
1-1. 한 줄 입력

let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split(' ');

let num = Number(input);

for (let i = 1; i <= num; i++) {
  console.log(i);
}

1-2. 한 줄 입력

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

let count = input[0];
let numbers = [];

for (let i = 1; i < input.length; i++) {
  if (input[i] !== '') {
    numbers.push(input[i].split(' '));
  }
}

for (let i = 0; i < numbers.length; i++){
  let num1 = Number(numbers[i][0]);
  let num2 = Number(numbers[i][1]);

  console.log(num1 + num2);
}

참고자료

입출력받기

fs 모듈이란

fs모듈이 아닌 다른 방식

모던 자바스크립트

profile
안 되는 이유보다 가능한 방법을 찾을래요

0개의 댓글