쾌락코딩 - Node.js 입력 받기
Node.js로 백준(BOJ) 문제 풀 때 유의할 점들
node. js언어로 백준 문제를 풀 때 참고하기 위한 모듈예제를 써본다.
// 입력 : 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();
});
// 입력 : 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();
});
출처는 데구리 블로그
이 블로그의 주인장이 잘 구현해놨다.
// 입력창을 뜻하는 숫자들은 하나의 예시들
// 다르게 입력 들어가도 무관
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로 백준 문제를 풀어보자.