Baekjoon (Node.Js)

[Baekjoon (Node.js)] 백준 Node.js 입력 받기 (fs모듈)

서크호 2022. 5. 31. 01:01

😀 안녕하세요. 주니어 프론트엔드 개발자 서크호 입니다.

알고리즘 공부를 하던 중 백준 사이트를 알게 되었고, 많이 풀어 보려고 노력 중인데 

주 언어가 자바스크립트인 저에게는 node.js 밖에 선택지가 없었고,

node.js를 이용해서 풀려고 하면 입력값을 받아오는 방법이 조금 특이 하더라고요...

두 가지 방법이 있다고 하는데 저는 평소에 사용하는 fs 모듈을 이용해서 입력을 받아오려고 합니다.


🤔 node.js에서 fs 모듈 

  • file system의 약자로 특정 디렉터리나 파일을 읽고 쓰는 기능을 하는 모듈
  • https://nodejs.org/api/fs.html 공식문서가 있지만 저처럼 영어를 못하면 구글에 검색해서 익히면 편합니다.
  • 백준에서는 입력이 들어오는 부분 전체를 문자열로 만들고 잘라서 쓰는 방식으로 사용해야 합니다.

📑 예시 1001번 A - B 문제

javascript도 만들어줘..

// fs 모듈 불러오기
const fs = require('fs');

// readFileSync() 함수로 '/dev/stdin' 경로에 있는 입력을 받아오고,
// toString() 으로 가져온 값을 string으로 변환해주고,
// split(' ') 으로 띄어쓰기 구분해서 변수에 저장한다. (입력이 공백으로 들어오니까)
let input = fs.readFileSync('/dev/stdin').toString().split(' ');

// 문제에서 두 정수 라고 했으니까 둘 다 정수로 바꿔준다.
let a = parseInt(input[0]);
let b = parseInt(input[1]);

// 빼서 출력
console.log(a-b);

😭 공간복잡도 때문에 node.js로 못푸는 문제도 있다고 하는데, 그래도 갈 때 까지 가보려고 합니다!