Algorithm

[백준/nodejs] 알고리즘 문제풀이 입력 받기

728x90

안녕하세요 프론트엔드개발자 웹코기입니다.

백준 문제풀이에서 자바스크립트를 사용하려면 nodejs 카테고리를 선택하고, readline모듈이나 fs모듈을 사용해서 풀이를 진행해야 합니다. (번거롭..)

 

처음엔 이 방법이 마음에 들지 않아서 다른 사이트에서 알고리즘 연습을 하려고 했으나... 백준만 한 곳이 없더군요..

로마에 가면 로마법을 따라야 하듯이... 백준법을 따라보겠습니다.

 

readline모듈을 사용해도 되지만, 시간 초과가 나올 수 있어서 fs모듈을 사용하겠습니다. (fs모듈도 경우에 따라 시간초과가 나온다고 하니 주의 바랍니다)

 

fs 모듈 사용

한 줄 입력

문제에서 제시한 입력값이 한 줄 일 때 아래 소스를 사용합니다.

let input = require('fs').readFileSync('/dev/stdin').toString().split(' ');
let num = Number(input[0]);

console.log('정답을 이곳에 태우세요');

 

여러 줄 입력

let input = require('fs').readFileSync('/dev/stdin').toString().split(' ');
let num1 = Number(input[0]); // 입력1
let num2 = Number(input[1]); // 입력2
 
console.log('정답을 이곳에 태우세요');

 

여러 줄 입력 (배열로 받아오기)

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

for (let i = 1; i < input.length; i++) {
  if (input[i] ! = '') {
    numbers.push(input[i].split(' '));
  }
}
 
console.log('정답을 이곳에 태우세요');

 

728x90