반응형
문제
- (세 자릿수) × (세 자릿수)는 다음과 같은 과정을 통하여 이루어진다.
(1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6) 위치에 들어갈 값을 구하는 프로그램을 작성하시오.
입력
- 첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가, 둘째 줄에 (2)의 위치에 들어갈 세자리 자연수가 주어진다.
출력
- 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.
예제입력 1
472
385
예제출력 1
2360
3776
1416
181720
문제풀이
- 흔히 우리가 곱셉을 구하는 식을 프로그래밍으로 구현하는문제
- (3), (4), (5) 번은 (2) 번의 385를 하나씩 추출하기 위해서
Math.floor와 나누기와 나머지를 활용해서 구한 값을 (1) 번에 곱해주었다.
쉬워 보이지만 처음 했을 때 385를 어떻게 자릿수 별로 분리해야 할지 고민되는 문제 - (참고) Math.floor(): 소수점 이하를 버림, Math.ceil(): 소수점 이하를 올림, Math.round(): 소수점 이하를 반올림
const fs = require("fs");
const file = process.platform === "linux" ? "dev/stdin" : "./text.txt";
const input = fs.readFileSync(file).toString().trim().split("\n");
//(1)번
const num0 = Number(input[0]);
//(2)번
const num1 = Number(input[1]);
// 385를 10으로 나눈 나머지 = 5
const a = num1 % 10;
// 385를 100으로 나눈 나머지 85를 10으로 나누고 Math.floor()를 사용해서 나머지 제거
const b = Math.floor((num1 % 100) / 10);
//385를 100으로 나눠서 소수점 제거
const c = Math.floor(num1 / 100);
// (3)번
console.log(num0 * a);
// (4)번
console.log(num0 * b);
// (5)번
console.log(num0 * c);
// (6)번
console.log(num0 * num1);
'Algorithm_javascript > 1. 입출력과 사칙연산' 카테고리의 다른 글
백준 10171번 고양이 (javascript,node.js) (0) | 2023.05.10 |
---|---|
백준 11382번 꼬마 정민 (javascript,node.js) (0) | 2023.05.10 |
백준 10430번 나머지 (javascript,node.js) (0) | 2023.05.10 |
백준 18108번 1998년생인 내가 태국에서는 2541년생?! (javascript,node.js) (0) | 2023.05.10 |
백준 10926 ??! (javascript,node.js) (0) | 2023.05.10 |