[백준 Node.js] Node.js로 시작하기

시작

알고리즘 공부를 하기에 백준이 단계적으로 공부하기 좋다고 판단하여 백준 문제를 풀려고 하는데 프로그래머스와 달리 백준은 테스트 케이스 입력을 받기 위한 코드를 작성해야 한다고 한다. 그래서 참고한 블로그와 내용을 간단히 정리해두고 필요할 때마다 꺼내보려고 쓰는 글이다.

fs모듈

백준 언어 도움말에서 제공하는 방법으로 FileSystemd의 약자로 직접 입력파일을 읽어와 처리한다.
입력 형태에 따라 trim() 필요하거나, split 문자열을 다르게 해야 하는 경우가 있다. 입력에 따른 코드와 예시는 TE$$ERACT님이 잘 정리해주셨다.

code

var fs = require('fs');
var input = fs.readFileSync('/dev/stdin').toString().split(' ');
var a = parseInt(input[0]);
var b = parseInt(input[1]);
console.log(a+b);

readline 모듈

한번에 한 줄씩 Readable 스트림에서 데이터를 읽기 위한 인터페이스를 제공한다. rl.close()가 없다면 입력을 무한으로 받게 된다고 한다. 이해가 부족해 현 상황에서는 사용하기 힘들거 같다. 좀 더 공부해봐야겠다.

code

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

rl.on("line", function(line) {
  console.log("hello !", line);
  rl.close();
}).on("close", function() {
  process.exit();
});

참고

백준, "언어 도움말"
쾌락코딩, "Node.js 입력 받기"
TE$$ERACT, "Node.js로 백준(BOJ) 문제 풀 때 유의할 점들"
yujo, "[Node.js]표준 입력 받기(readline)

좋은 웹페이지 즐겨찾기