본문 바로가기
ALGORITHM/백준 With Node.js

[백준] 1000번 / A+B / Node.js

by LAY CODER 2021. 4. 19.
728x90

문제

 

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

 

입력

 

첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)

 

출력

 

첫째 줄에 A+B를 출력한다.

 

예제 입력 1

 

1 2

 

예제 출력 1

 

3

 

CODE

// readline 모듈을 import
const readline = require('readline');

// 인터페이스 객체 생성
// process의 입출력 스트림을 input과 output에 할당
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout,
});

rl.on('line', function (line) {
    const input = line.split(' ');

    const result = Number(input[0]) + Number(input[1]);
    console.log(result);

    rl.close();
}).on('close', function () {
    process.exit();
});

 

Comment

 

크게 'fs를 이용하는 방식'과 'readline'을 이용하는 방식'이 있는데,

 

백준에서는 '파일' 에서 data를 읽어오는 함수인 fs 방식을 추천한다.

 

vscode로 테스트하려면 원하는 폴더에 input-data를 작성하고 해당 폴더까지 경로를 설정해줘야 한다.

 

번거로워서 readline 방식을 이용하여 문제를 풀었다.

 

매개변수 line에 할당되는 것이 입력값이며, 문자열로 할당된다.

 

 

readline

 

  • readline 모듈은 한 번에 한 줄씩 Readable 스트림 (예 : process.stdin)에서 데이터를 읽기위한 인터페이스를 제공한다. 
  • readline.Interface는 readline.createInterface() 메쏘드를 통해 생성 가능하다.

 

close()

 

입력을 원하는만큼 받기 위해서는 특정 조건에 rl.close()를 추가해주면 된다.

 

References


velog.io/@yujo/node.js%ED%91%9C%EC%A4%80-%EC%9E%85%EB%A0%A5-%EB%B0%9B%EA%B8%B0

helicopter55.tistory.com/38

댓글