[백준] 10869. 사칙연산 (feat. Javascript / node.js) 알고리즘

입출력과 사칙연산 6번째 문제 [10869]

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

예제 입력

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

7 3

예제 출력

첫째 줄에 A+B, 둘째 줄에 A-B, 셋째 줄에 A*B, 넷째 줄에 A/B, 다섯째 줄에 A%B를 출력한다.

10
4
21
2
1

제출

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

const A = parseInt(input[0]);
const B = parseInt(input[1]);

console.log(A + B);
console.log(A - B);
console.log(A * B);
console.log(Math.floor(A / B));
//  Math.floor() 함수는 주어진 숫자와 같거나 작은 정수 중에서 가장 큰 수를 반환합니다. 내림
console.log(A % B);


무엇을 해결해야 하는가?

line 9에 그냥 A/B로 몫을 출력하면 아래 터미널 결과처럼 2.333333333... 같은형태로 출력된다. 이는 출력예시와 다르므로 조치를 취해야한다.

처음에는 Math.round()를 사용해서 반올림했다. 같은 값이 나왔다. 근데 틀렸다. 원하는 결과가 아니었나보다.

말을 잘들어야지
Math.floor() 내림 함수를 사용해서 적용하니 맞았다.

MDN : Math.floor()

  • Math.floor() 함수는 주어진 숫자와 같거나 작은 정수 중에서 가장 큰 수를 반환합니다.

좋은 웹페이지 즐겨찾기