(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.
(1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오.
첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가, 둘째 줄에 (2)의 위치에 들어갈 세자리 자연수가 주어진다.
첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.
472
385
2360
3776
1416
181720
const input = require('fs').readFileSync('/dev/stdin').toString().split('\n');
let a = input[0].split('');
let b = input[1].split('');
let one = Number(input[0]) * Number(b[2]);
let two = Number(input[0]) * Number(b[1]);
let three = Number(input[0]) * Number(b[0]);
console.log(one);
console.log(two);
console.log(three);
console.log((three*100) + (two * 10) + one);
각 숫자를 split메서드를 통해서 나누어준 후, 그 값들을 계산하여서 답을 도출하였다.
const input = require('fs').fs.readFileSync('/dev/stdin').toString().split('\n').map(Number);
const oneNum=input[1]%10;
const tenNum=Math.floor((input[1]%100)/10);
const hundredNum=Math.floor(input[1]/100);
console.log(input[0]*oneNum);
console.log(input[0]*tenNum);
console.log(input[0]*hundredNum);
console.log(input[0]*input[1]);
Math.floor (나머지 소수점들을 버림 해주는 메서드)를 통하여 5, 8, 3 이라는 값을 구해준 후 결과를 도출해내었다.
개인적으로는 Math.floor메서드를 사용을 사용해서 푸는 방법이 조금이나마 더 알고리즘 사고방식(?)에 도움이 되지 않을까 싶다.
하지만 난 풀이 1 을 통해 답을 구했는데, 나중에 이런 비슷한 문제를 만나게 되면 Math메서드를 사용해서 풀 수 있도록 기억해놓아야겠다.
Math 함수 사용한 풀이에서 .fs 빼야합니다 안그러면 TypeError 발생합니다.