백준 Node.js 입출력

이경택·2022년 2월 10일
0

입출력

다른 알고리즘 사이트에서는 자동으로 테스트 케이스에 대한 입출력을 받아주지만 백준 사이트 같은 경우는 테스크 케이스에 대한 입출력을 직접 작성해줘야 한다.

입출력 방식

  1. fs모듈
// file system 모듈을 불러온다.
const fs = require('fs'); 

// fs모듈의 readFileSync 함수를 통해 동기적으로 해당 경로의 파일 전체를 읽어들인다.
// 백준에서는 '/dev/stdin' 경로에 테스트 케이스 파일이 있다.
// 읽어드린 정보는 toString()함수를 통해 문자열로 변환하여야 사용할 수 있다.
// 입력 받은 문자열을 split() 함수를 통해 배열화한다. (split(' '), split('\n') 등)
// 예) 2 3 입력시, inputData = ['2', '3']
const input = fs.readFileSync('/dev/stdin').toString().split(' ');
  1. readline 모듈
const readline = require('readline');
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});
input = []
rl.on('line', (line) => {
  // line을 가공하여 변수에 저장
  input.push(line)
  //input.push를 통해 line을 input 배열에 넣을 수도 있음
}).on('close', () => {
  // 저장된 변수를 이용하여 계산 후 출력
});

주의사항

  • 계산시에는 parseInt 혹은 Number 함수를 통해 숫자로 형변환 해야 에러가 발생하지 않는다.
    -> 차이점: parseInt는 첫문자가 숫자라면 숫자+문자의 경우도 숫자를 리턴, Number은 혼합된 경우 Nan을 리턴한다.
profile
한 줄로 소개 할 수 없는 개발자

0개의 댓글