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

[백준] 10869번 / 사칙연산 / Node.js

by LAY CODER 2021. 4. 19.

문제

 

두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오. 

 

입력

 

두 자연수 A와 B가 주어진다. (1 ≤ A, B ≤ 10,000)

 

출력

 

첫째 줄에 A/B를 출력한다. 실제 정답과 출력값의 절대오차 또는 상대오차가 10-9 이하이면 정답이다.

 

예제 입력 1

 

7 3

 

예제 출력 1

 

10

4

21

2

1

 

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 plus = Number(input[0]) + Number(input[1]);
    const minus = Number(input[0]) - Number(input[1]);
    const multiply = Number(input[0]) * Number(input[1]);
    // Math.floor : 소수점 버림 Method
    const quotient = Math.floor(Number(input[0]) / Number(input[1]));
    const remainder = Number(input[0]) % Number(input[1]);

    console.log(plus);
    console.log(minus);
    console.log(multiply);
    console.log(quotient);
    console.log(remainder);

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

 

 

Comment

 

나눗셈(/)은 신경써야 한다.


다른 언어와는 달리 JS에서의 나눗셈 연산은 소수점을 포함한 결과가 나온다.

예제 출력은 정수만 출력되므로 소수점 아래 수를 없애주어야 한다.


따라서 Math객체의 floor메소드를 이용해 '버림'을 사용 해야 한다.

 

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/38velog.io/@exploit017/10869-%EC%82%AC%EC%B9%99%EC%97%B0%EC%82%B0

 

 

 

댓글