프로그래밍/알고리즘 풀이
[node.js] 곱셈 ( 백준 1629번 )
카카수(kakasoo)
2021. 5. 11. 17:07
반응형
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
rl.on("line", (line) => {
let [a, b, c] = line.split(" ").map(BigInt);
const pow = (a, b, c) => {
if (b == 0) {
return BigInt(1);
}
const temp = pow(a, BigInt(parseInt(b / BigInt(2))), c);
if (b % BigInt(2)) {
return (((temp * temp) % c) * a) % c;
} else {
return (temp * temp) % c;
}
};
console.log(Number(pow(a, b, c)));
});
상당히 시간이 오래 걸린 문제이다. 재귀를 사용하지 않고 풀고 있었다. while문을 써서.
그런데 그게 더 어려웠던 것 같다. 문제를 풀기 전에 생각하는 습관을 들여야 하는데 그러질 못했던 점을 반성한다.
꼭 반성만 한다 (...)
반응형