node. js로 백준 코딩테스트 풀기 위한 모듈 모음

Cho Dragoo·2021년 5월 7일
1

쾌락코딩 - Node.js 입력 받기
Node.js로 백준(BOJ) 문제 풀 때 유의할 점들

node. js언어로 백준 문제를 풀 때 참고하기 위한 모듈예제를 써본다.




두 수를 공백으로 구분지어 입력받은 후 합을 구해 출력하는 코드(readline 모듈)

// 입력 : 1 2
// 출력 : 3

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

let input = [];

rl.on('line', function (line) {
    input = line.split(' ').map((el) => parseInt(el));
  })
  .on('close', function () {
  ////// 알고리즘 풀이 영역
  
    console.log(input[0] + input[1]);
  
  ////// 알고리즘 풀이 영역
    process.exit();
  });



두 줄, 세 줄의 입력을 받아야 할 때 쓰는 코드 예시(readline 모듈)

// 입력 : 1 
//       2
// 출력 : 3

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 () {
 ///////////////////////////////////  
  let count = Number(input[0]);
  let numbers = [];

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

  for (let i = 0; i < count; i++) {
    num1 = Number(numbers[i][0]);
    num2 = Number(numbers[i][1]);
    console.log(num1 + num2);
  }
///////////////////////////////////////	
  process.exit();
});



Node.js 입력을 Python처럼 받는 fs모듈

출처는 데구리 블로그
이 블로그의 주인장이 잘 구현해놨다.


// 입력창을 뜻하는 숫자들은 하나의 예시들
// 다르게 입력 들어가도 무관
const fs = require('fs');
const stdin = (process.platform === 'linux'
  ? fs.readFileSync('/dev/stdin').toString()
  : `10 10 3
13 2 5 11 7 8 2 4 9 10
1
2
3
8
9
10
11
16
17
49
`
).split('\n');

그 외에 다른 fs 모듈의 방법도 있는데 그것은 다른 벨로그 Jeongjun Aiden Kim 이분이 설명을 아주 잘해주셨기에 출처와 링크만 남기겠다.
Node.js로 백준 문제를 풀어보자.

profile
어떤 문제든 파악 할 수 있으며 해결책을 찾을 수 있는 개발능력을 꿈꾸고 있습니다.

0개의 댓글