BAEKJOON - 2588번
1. 문제
(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.
.png)
(1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오.
2. 입력
첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가, 둘째 줄에 (2)의 위치에 들어갈 세자리 자연수가 주어진다.
3. 출력
첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.
4. 코드
// O(n), 로직 방식
function solution(a, b){
let answer = [];
let k = 1;
for(let i = 0; i < b.toString().length; i++){
answer[i] = a * parseInt(b % (10 * k) / k);
k *= 10;
}
answer[b.toString().length + 1] = a * b;
return answer.reduce((p , q) => `${p}\n${q}`);
}
let exampleA = 472;
let exampleB = 385;
console.log(solution(exampleA, exampleB));
// O(1), 다이렉트 방식
function solution(a, b){
let answer = [];
answer[0] = a * parseInt((b % 10));
answer[1] = a * parseInt((b % 100) / 10);
answer[2] = a * parseInt(b / 100);
answer[b.toString().length + 1] = a * b;
return answer.reduce((p , q) => `${p}\n${q}`);
}
let exampleA = 472;
let exampleB = 385;
console.log(solution(exampleA, exampleB));
댓글남기기