Jayden1116 2022. 5. 28. 20:49
const fs = require('fs');
const path = process.platform === 'linux' ? '/dev/stdin' : './data.txt';

const input = Number(fs.readFileSync(path).toString().trim());

const solve = (input) => {
  if (input === 1 || input === 0) { // input <= 1 ๋กœ๋„ ๊ฐ€๋Šฅ
    return 1;
  } else {
    return input * solve(input - 1);
  }
};

console.log(solve(input));

๋ฐฑ์ค€


์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ํ‘ผ ์ฒซ ์žฌ๊ท€ํ•จ์ˆ˜ ๋ฌธ์ œ!
ํ•ญ์ƒ ์žฌ๊ท€๋ฅผ ํ’€ ๋•, ์žฌ๊ท€๋ฅผ ๋ฉˆ์ถ”๊ฒŒ ํ•˜๋Š” base case๋ฅผ ๋Š˜ ๊ธฐ์–ตํ•˜์ž.
์ฆ‰, ์žฌ๊ท€์ ์œผ๋กœ ๊ทธ ๋‹ค์Œ๋‹จ๊ณ„๋ฅผ returnํ•˜๋Š” ๋ถ€๋ถ„์ด ์žˆ๋‹ค๋ฉด ๋ฐ˜๋“œ์‹œ ์žฌ๊ท€๋ฅผ ๋ฉˆ์ถ”๋Š” ๋ถ€๋ถ„๋„ ์žˆ์–ด์•ผํ•œ๋‹ค.