백준에는 자바스크립트가 없다.

백준저지에는 자바스크립트가 없습니다. 그래서 node.js를 통해 문제를 풀어야 하죠또 타 사이트와는 다른 점은 input값을 직접 넣어 줘야한다는 것입니다.

node.js를 이용한 입출력 방식은 크게 2가지가 있다.

1) fs모듈

const fs = require('fs'); 
const inputData1 = fs.readFileSync('/dev/stdin').toString().split(' ');
const inputData2 = fs.readFileSync(0, 'utf8').split(' ');

2) readline 모듈

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

rl.on('line', (line) => {
  // line을 가공하여 변수에 저장

}).on('close', () => {
  // 저장된 변수를 이용하여 계산 후 출력
});

readline 모듈을 사용할 경우에는, 각 줄이 입력될 때마다 'line' 이벤트가 매번 발생하여 이를 변수에 저장하며, 'close' 이벤트가 발생한 경우 저장된 변수를 가지고 계산을 진행하게 된다.

3) 정리

코딩테스트는 일반적으로 아래의 3단계 구성된다. 1) 입력: 주어진 입력을 받아들여 프로그램의 자료구조에 저장 2) 계산: 알고리즘을 활용하여 정답 도출 3) 출력: 정답을 주어진 형식에 맞게끔 출력

따라서 로직 도중 인터랙티브하게 유저로부터 입력을 받거나 출력을 요하지 않기 때문에, 복잡한 readline 모듈보다는 fs 모듈을 통해 간결하게 작성 하는편이 좋아보인다.

차이점: Number는 숫자+문자가 혼합된 경우, NaN을 리턴하고, parseInt는 첫문자가 숫자라면, 숫자+문자의 경우도 숫자를 리턴한다.