\(@^0^@)/

[JS] 백준 런타임 에러 (readLine모듈로 입력 받는 법) 본문

알고리즘

[JS] 백준 런타임 에러 (readLine모듈로 입력 받는 법)

minjuuu 2021. 9. 16. 16:54
728x90

백준 문제 14681번을 풀었는데, 런타임 에러 (EACCES) 가 발생하였다.
구글링 해보니, fs모듈로는 무조건 런타임 에러가 난다는 것... readLine모듈을 사용해야만 한다.
그래서 readLine모듈을 처음 사용해보기로 하였음.


🐱‍👓 1. 문제 : 백준 14681
https://www.acmicpc.net/problem/14681

 

🔥 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 (){
  input = input.map((item) => +item);
  solution(input[0], input[1]);
  process.exit();
});

// 풀이코드
function solution(x, y) {
  let ans = 0;
  if(x > 0 && y > 0){
    ans = 1;
  }
  if(x < 0 && y > 0){
    ans = 2;
  }
  if(x < 0 && y < 0){
    ans = 3;
  }
  if(x > 0 && y < 0){
    ans = 4;
  }
  console.log(ans);
}

 

⚡ 3. 풀이


주로 입력값을 fs 모듈로 받아오는데, 이 문제에서는 런타임 에러가 발생하여서 readline 모듈을 사용했다.
풀이인 solution 함수 부분은 똑같고, 값을 입력받는 모듈부분만 변경해주면 성공!


※ 참고 : https://www.youtube.com/watch?v=5xTHp0wgilU

728x90