✏️기록하는 즐거움
article thumbnail

Link

 

2588번: 곱셈

첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.

www.acmicpc.net

문제

(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.
(1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오.

입력 > 첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가, 둘째 줄에 (2)의 위치에 들어갈 세자리 자연수가 주어진다.
출력 > 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.

풀이과정

385의 일의 자리를 구하는 과정
385의 10의 자리를 구하는 과정
385의 100의 자리를 구하는 과정

제출

const fs = require("fs");

const input = (
  process.platform === "linux"
    ? fs.readFileSync("/dev/stdin").toString()
    : `472
    385`
).split("\n");

const [num1, num2] = input;

const oneNum = num2 % 10;
const tenNum = Math.floor((num2 % 100) / 10);
const hundredNum = Math.floor(num2 / 100);

console.log(num1 * oneNum);
console.log(num1 * tenNum);
console.log(num1 * hundredNum);
console.log(num1 * num2);

 

개념

Math.floor()

  • Math는 수학적인 상수와 함수를 위한 속성과 메서드를 가진 내장 객체이다.
    floor()는 Math의 정적 메서드로 항상 Math.floor()를 사용해서 호출할 수 있다.
  • MDN에 나온 Math.floor()의 정의는 주어진 숫자와 같거나 작은 정수 중에서 가장 큰 수를 반환한다고 나와있다.
    간단하게 생각하면 소수점 내림이라고 보면 된다.
console.log(Math.floor(3.1)); // 3
console.log(Math.floor(3.95)); // 3
console.log(Math.floor(-3.1)); // -4
console.log(Math.floor(-3.95)); // -4

Comment

 

profile

✏️기록하는 즐거움

@nor_coding

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!