| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
- flex box
- 노개북
- 1541 node.js
- 11399 node.js
- 11047 node.js
- 모던자바스크립트 딥다이브
- 2217 node.js
- IT5분잡학사전
- Javascript
- 모던자바스크립트DeepDive
- 1931 node.js
- 개발자
- 백준1789
- 1789 node.js
- 모던자바스크립트
- 자바스크립트 일급객체
- 개인프로젝트
- 노마드스터디
- 노마드북클럽
- CSS flex
- 백준25176
- 코딩
- 자바스크립트 딥다이브
- const
- 백준21313
- 자바스크립트 함수
- 21313 nodejs
- 백준1026
- 1026 node.js
- 14655 nodejs
- Today
- Total
캐또's coding
2588 - 곱셈 - node.js 본문
문제
(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.

(1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가, 둘째 줄에 (2)의 위치에 들어갈 세자리 자연수가 주어진다.
출력
첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.
예제 입력 1 복사
472
385
예제 출력 1 복사
2360
3776
1416
181720
출처
Olympiad > 한국정보올림피아드 > 한국정보올림피아드시․도지역본선 > 지역본선 2005 > 초등부 2번
세 자리 곱하기 세 자리의 문제다. 다만 출력으로는 결과만 내는 것이 아니라 중간 과정을 보여줘야 한다는 점인데, 4개의 결과를 출력하면 된다. 두 수 A, B에 대해서, 첫 번째 줄은 A * (B의 일의 자리 숫자), 두 번째 줄은 A * (B의 십의 자리 숫자), 세 번째 줄은 A * (B의 백의 자리 숫자), 마지막 줄은 A * B 결과를 차례대로 출력하면 된다.
B의 각 자리 숫자를 구하는 것이 문제인데, 문자열이라면 잘라내는 것이 편하지만, 숫자일 경우에 특정 자리의 값을 구하는 방법도 알아볼 필요가 있었다.
const input = require('fs').readFileSync('/dev/stdin').toString().split('\n').map(Number);
const A = input[0];
const B = input[1];
const B1 = input[1] % 10;
const B10 = ((input[1] % 100) - (input[1] % 10)) / 10;
const B100 = ((input[1] % 1000) - (input[1] % 100)) / 100;
console.log(A * B1);
console.log(A * B10);
console.log(A * B100);
console.log(A * B);
우선 이번의 입력 값은 한 줄에 입력되는 것이 아니라 두 줄에 나눠서 입력되는 것이끼 때문에 split의 구분을 '\n' 즉 줄넘김 기호라고 해주는 것을 잊지 말아야 한다.
더 간단하게도 표시 가능하겠지만, 명확하게 의미를 드러나게 하기 위해서 수식에 들어갈 모든 값들을 각기 다르게 할당해주었다.
B1~ B100은 B의 일의 자리 수, 백의 자리 숫자를 의미하며,
B1: 입력된 세자리 값을 10으로 나누고 남은 값은 일의 자리이므로 B1에는 input[1]%10을 할당한다.
B10: 입력된 세자리 값을 100으로 나눈 나머지는 두자리 수, 일의 자리 숫자인 10으로 나눈 나머지를 빼면 'x0'으로 나올 것인데 그것을 10으로 나누면 'x'만 남는다. 즉 십의 자리 숫자만 남는다.
B100: 십의 자리 숫자가 나온 것과 같은 방법으로 백의 자리 숫자에 대해 계산하면 값을 얻을 수 있다.
각 수를 할당한 A, B, B1, B10, B100을 문제에 맞춰 출력하게 하면 문제 해결
'기초 공부 > 백준 문제 풀이' 카테고리의 다른 글
| 10172 - 개 - node.js (0) | 2022.08.12 |
|---|---|
| 10171 - 고양이 - node.js (0) | 2022.08.12 |
| 10430 - 나머지 - node.js (0) | 2022.08.12 |
| 3003 - 킹, 퀸, 룩, 비숍, 나이트, 폰 - node.js [10번째] (0) | 2022.08.11 |
| 18108 - 1998년생인 내가 태국에서는 2541년생?! - node.js (0) | 2022.08.11 |