알고리즘을 확인할때 출력방법이 헷갈려서 적어보는 기록
지금까지는 2가지 방법을 알았다.
1. fs
2. readline
이 두가지 내장 모듈을 사용하여 출력하는 방식인데.
fs:
let fs = require('fs');
let input = fs.readFileSync('./dev/stdin').toString().split(' ');
fs를 불러온다음 내장함수 readFileSync를 사용해 특정 폴더 안에 있는 파일을 string값으로 만든 후 띄어쓰기 마다 split을 해서 배열에 담는다.
예를 들어 1000번 문제를 풀때 같은 방식을 사용했는데
일단 내 폴더 트리안에 dev라는 폴더를 만들어 주고 그 안에 stdin 파일을 만들어줬다. ( 파일이름은 임의대로 지정해도 됨 )
위 출력코드를 입력하고 stdin파일에는 계산할 값을 보낸다.
이렇게 하면 stdin에 입력을 하고 콘솔에서 결과값을 출력받을 수 있다.
fs에서 여러가지 데이터를 입력해야 할 경우(1009번같은 경우) 여러가지 방법을 쓸 수 있는데
const [input] = fs.readFileSync('./dev/stdin').toString().split('\n');
이런식으로 엔터를 기준으로 split해서 출력하는 방법도 좋은 것 같다.
readline:
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.on('line',line=>{
console.log(line); // 터미널에서 입력한 값
})
이렇게 작성하고 node를 실행시킨 후 터미널에서 숫자를 적으면 적은 값이 그대로 표출된다.
readline으로 여러 데이터를 출력하려면
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.on('line',line=>{
console.log(line); // 터미널에서 입력한 값
}).on('close',()=>{
console.log('코드 끝남'); // ctrl+c 눌러서 node에서 나갈때 실행됨
process.exit();
})
이렇게 해서 코드가 끝나기 전까지 값을 받으면 된다.
'Coding Test' 카테고리의 다른 글
[ node.js, 자바스크립트 ] 백준 알고리즘 1330번 (0) | 2021.09.10 |
---|---|
[ node.js, javascript ] 백준 알고리즘 2588번 (0) | 2021.09.10 |
[ node.js, 자바스크립트 ] 백준 알고리즘 10430번 (0) | 2021.09.10 |
[ node.js ] 백준 알고리즘 2908번 자바스크립트 (0) | 2021.09.10 |
[node.js, javascript] 백준 알고리즘 1009번 (0) | 2021.08.26 |