저장을 습관화
node.js로 백준 풀 때 EACCES 에러가 발생한다면 본문
백준의 몇몇 문제에서는 자바스크립트의 fs 모듈을 지원하지 않는 경우가 있다.
그 동안 fs 모듈을 이용해 입력값이 저장된 파일의 내용을 불러오다가
갑작스럽게 readLine으로 변경하려면 퍽 당황스러운데,
readLine을 이용하지 않고도 그대로 fs 모듈을 사용할 수 있는 방법이 있어 메모한다.
런타임 에러(EACCES)는 권한이 존재하지 않아 발생하는 에러이며
이 권한은 입력값을 받아오는 "/dev/stdin"의 내용을 읽는 것을 말한다.
이 경우, readFileSync()의 내용을 아래와 같이 변경한다.
let fs = require("fs");
// 기존
// let input = fs.readFileSync("/dev/stdin").toString().trim().split("\n");
// 런타임 에러 EACCES 발생 시
let input = fs.readFileSync(0, "utf-8").toString().trim().split("\n");
console.log(input);
파일을 읽어오는 경로만 변경해주어도 readLine이나 다른 언어로 바꿔서 풀어야 할 수고를 덜 수 있다.
[참고]
https://www.acmicpc.net/board/view/137718
글 읽기 - Node.js 사용 시 런타임 에러(EACCES)가 발생한다면?
댓글을 작성하려면 로그인해야 합니다.
www.acmicpc.net
'코딩 테스트 > 백준 - 자바스크립트' 카테고리의 다른 글
백준 17219 비밀번호 찾기 (0) | 2024.03.29 |
---|---|
백준 1764 듣보잡 node.js (0) | 2024.03.26 |
백준 11651 좌표 정렬하기 2 node.js (0) | 2024.02.22 |
백준 11650 좌표 정렬하기 node.js (0) | 2024.02.22 |
백준 13241 최소공배수 node.js (0) | 2024.02.22 |