최근 다시 Node JS를 배우게 되었다. 다시 복습겸 포스팅 함..
1. readline 모듈 사용
소스 코드1 (한 줄 입력)
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.on('line', function(line) {
console.log(line);
rl.close();
}).on("close", function() {
process.exit();
});
기본적으로 매개변수 line에 할당되는 것이 입력값이며, 문자열로 할당됨.
그리고 console.log(line); 에 의해 입력 받은 값이 출력됨
소스 코드2 (여러 줄 입력)
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 () {
console.log(input);
process.exit();
});
2. fs 모듈 사용
두 번째 방법으로는 fs모듈을 사용하는 방법이 있다.
readline으로 시간 초과가 나올 때 사용한다.
소스 코드 1 (한 줄 입력)
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split(' ');
let num = Number(input);
for (let i = 1; i <= num; i++) {
console.log(i);
}
소스 코드 2 (여러 줄 입력)
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split('\n');
let count = input[0];
let numbers = [];
for (let i = 1; i < input.length; i++) {
if (input[i] !== '') {
numbers.push(input[i].split(' '));
}
}
for (let i = 0; i < numbers.length; i++){
let num1 = Number(numbers[i][0]);
let num2 = Number(numbers[i][1]);
console.log(num1 + num2);
}
위 방법으로도 시간 초과로 문제가 해결되지 않는 경우가 종종 있다고 한다..
LIST
'Study > Node.js' 카테고리의 다른 글
[NodeJS] NodeJs 모듈 업데이트 하는 방법 | Package.json의 종속성을 업데이트 해보자. (0) | 2021.07.25 |
---|---|
[NodeJS] NodeJs + Express.js + MySQL CRUD 연동 (0) | 2021.06.19 |
[노드JS] 로그 모듈 설치하기 (0) | 2019.08.17 |
[노드JS] 로그 파일 남기기 (0) | 2019.03.23 |
[노드JS] fs 모듈로 새 디렉터리 만들고 삭제하기 (0) | 2019.03.23 |