문제 상황
백준 1717번 문제를 풀고 있었다. 로직을 다 짜고 제출했는데 런타임 에러를 만나게 되었다.
문제 원인
입력에 관한 오류였다. fs 모듈을 사용하고 있는데, JS 같은 경우 간간히 fs 모듈로는 입력을 다 받을 수 없는 경우가 존재하는 것 같다.
const fs = require("fs");
BOJkey = false;
const input = fs
.readFileSync(BOJkey ? "./ehddud1006/BOJ/1717/input.txt" : "./dev/stdin")
.toString()
.trim()
.split("\n")
.map((item) => item.split(" ").map(Number))
.reverse();
해결 방법
JS 로 백준 문제를 풀때 사용할 수 있는 입출력 방식은 위에서 말한 fs 모듈을 사용하는 방법과 readline 방법이 있다.
다만 fs 가 속도가 더 빠르기 때문에 사용중이다.
이 경우에는 readline 을 사용하면 된다.
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 () {
input = input.map((item) => item.split(" ").map(Number)).reverse();
main();
process.exit();
});
니가 선택한 JavaScript 다. 악으로 깡으로 버텨라 🤣
'공부기록 > 자바스크립트 코딩테스트' 카테고리의 다른 글
[백준/JS] 10775 공항 (0) | 2023.05.02 |
---|---|
[백준/JS] 4195 친구 네트워크 (0) | 2023.05.02 |
[바킹독 강의] 플로이드 와샬 (0) | 2023.04.29 |
[바킹독 강의] 다익스트라 (0) | 2023.04.24 |
[백준/Python] 3649 로봇 프로젝트 (2) | 2023.03.30 |