[Node.js] 백준 풀 때 참고

송철진·2023년 1월 29일
1

백준-Node.js

목록 보기
68/69

참고: https://velog.io/@exploit017/백준Node.js-Node.js-입력-받기

한 줄 입력

const readline = require('readline');

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});

rl.on('line', (line) => {
  // 변수 선언 등 
  // console.log(a+b);
  rl.close();
}).on("close", () => {
  process.exit();
});

여러줄 입력

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
let input = [];
rl.on('line', (line) => {    
    input.push(line)
}).on('close', () => {
    // 변수 선언 등
    // console.log()
});

런타임에러 발생 시

1. 공백으로 값 구분 시

  • 매개변수가 주어지는 프로그래머스와 달리 그냥 첫째줄에 제공된 2개 이상의 값 : 1000
예제 입력 : 1 2
// A+B
const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().split(' ');
const [a, b] = [parseInt(input[0]), parseInt(input[1])];
console.log(a+b);

Node.js 런타임 에러

2. 양옆에 공백 제거

  • 양옆에 공백이 있는지 없는지 알려주지 않지만 공백을 제거해야 통과하는 문제: 10926

String.prototype.trim()
문자열 양 끝의 공백을 제거하고 원본 문자열을 수정하지 않고 새로운 문자열을 반환
⭐️⭐️⭐️

const fs = require('fs');
const input = fs.readFileSync("/dev/stdin").toString().trim();

.filter(el => el !== " ")를 써도 똑같을 거 같지만 런타임에러가 발생한다!

3. readFileSync(0)
14681 -> 얘는 "/dev/stdin" 을 쓰면 런타임에러 EACCES 가 발생한다. 0을 써야 함

4. 특수문자
따옴표 쌍따옴표 슬래시 역슬래시 등 특수문자를 쓸 때는 왼쪽에 \를 써줘야 한다

5.따옴표 백틱을 빼먹었을 때

profile
검색하고 기록하며 학습하는 백엔드 개발자

0개의 댓글