ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„์˜ ๋งฅ๋ฝ์—์„œ ์žฌ๊ท€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ๊ฐ ํ•˜์œ„ ๋ฌธ์ œ๋ฅผ ํ•œ ๋ฒˆ ํ•ด๊ฒฐํ•œ ๋‹ค์Œ ์žฌ๊ท€๋ฅผ ํ†ตํ•ด ์†”๋ฃจ์…˜์„ ์—ฌ๋Ÿฌ ๋ฒˆ ์žฌ์‚ฌ์šฉํ•˜์—ฌ ํฌ๊ณ  ๋ณต์žกํ•œ ๋ฌธ์ œ๋ฅผ ๋” ์ž‘๊ณ  ๊ด€๋ฆฌ ๊ฐ€๋Šฅํ•œ ํ•˜์œ„ ๋ฌธ์ œ๋กœ ๋‚˜๋ˆ„๋Š” ๊ธฐ์ˆ ์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์žฌ๊ท€๋Š” ํ•จ์ˆ˜๊ฐ€ ์ง์ ‘ ๋˜๋Š” ๊ฐ„์ ‘์ ์œผ๋กœ ์ž์‹ ์„ ํ˜ธ์ถœํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋กœ, ๊ฐ ํ•จ์ˆ˜ ํ˜ธ์ถœ์€ ๋” ์ž‘์€ ๊ทœ๋ชจ์—์„œ ๋™์ผํ•œ ๋ฌธ์ œ์˜ ์ƒˆ๋กœ์šด ์ธ์Šคํ„ด์Šค๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ์žฌ๊ท€๋Š” ํ”ํžˆ ์‚ฌ์†Œํ•˜๊ฑฐ๋‚˜ ๊ธฐ๋ณธ์ ์ธ ๋ฌธ์ œ์ธ ๊ธฐ๋ณธ ์‚ฌ๋ก€์— ๋„๋‹ฌํ•  ๋•Œ๊นŒ์ง€ ๊ณ„์†๋ฉ๋‹ˆ๋‹ค. ์ด ์‹œ์ ์—์„œ ํ•จ์ˆ˜๋Š” ์ž์ฒด ํ˜ธ์ถœ์„ ์ค‘์ง€ํ•˜๊ณ  ๋ชจ๋“  ํ•˜์œ„ ๋ฌธ์ œ์— ๋Œ€ํ•œ ์†”๋ฃจ์…˜์ด ๊ฒฐํ•ฉ๋˜์–ด ์›๋ž˜ ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ตœ์ข… ์†”๋ฃจ์…˜์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์žฌ๊ท€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์‚ฌ์šฉ์€ ๋ฌธ์ œ์˜ ์ž‘์€ ์‚ฌ๋ก€๋ฅผ ํ•ด๊ฒฐํ•œ ๋‹ค์Œ ๊ฒฐ๊ณผ๋ฅผ ์ผ๋ฐ˜ํ™”ํ•˜์—ฌ ์™„์ „ํ•œ ์†”๋ฃจ์…˜์„ ํ˜•์„ฑํ•จ์œผ๋กœ์จ ๋ฌธ์ œ์— ๋Œ€ํ•œ ์†”๋ฃจ์…˜์ด ๋„์ถœ๋˜๋Š” ๊ท€๋‚ฉ๋ฒ•์˜ ์ˆ˜ํ•™์  ์›๋ฆฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ์žฌ๊ท€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ˆ ์€ ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ, ํŠธ๋ฆฌ ์ˆœํšŒ, ๊ทธ๋ž˜ํ”„ ์ˆœํšŒ ๋ฐ ์กฐํ•ฉ ๋ฌธ์ œ์™€ ๊ด€๋ จ๋œ ๋ฌธ์ œ๋ฅผ ํฌํ•จํ•˜์—ฌ ๋‹ค์–‘ํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ์ ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์žฌ๊ท€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ์ฝ”๋“œ ๋‹จ์ˆœํ™”, ๊ฐ€๋…์„ฑ ํ–ฅ์ƒ, ์ดํ•ด ๋ฐ ๋””๋ฒ„๊ทธ ์šฉ์ด์„ฑ ๋“ฑ ๋ฐ˜๋ณต ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ˆ ์— ๋น„ํ•ด ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ด์ ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ์ฆ๊ฐ€ํ•˜๊ณ  ๊ณผ๋„ํ•œ ํ•จ์ˆ˜ ํ˜ธ์ถœ๋กœ ์ธํ•ด ์Šคํƒ ์˜ค๋ฒ„ํ”Œ๋กœ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ๊ณผ ๊ฐ™์€ ๋ช‡ ๊ฐ€์ง€ ๋‹จ์ ์ด ์žˆ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋‹จ์ ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์žฌ๊ท€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์žฅ์ ์€ ๋‹จ์ ๋ณด๋‹ค ๋” ์ปค์„œ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋ถ„์•ผ์—์„œ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค.

AppMasterno-code ํ”Œ๋žซํผ์„ ์‚ฌ์šฉํ•˜๋Š” ์ „๋ฌธ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์ž๋กœ์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์„ค๊ณ„ํ•˜๊ณ  ๊ตฌ์ถ•ํ•  ๋•Œ ์žฌ๊ท€ ๊ธฐ์ˆ ์„ ํšจ์œจ์ ์œผ๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ, ์›น ๋ฐ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•œ ํ”Œ๋žซํผ์˜ ํ˜์‹ ์ ์ธ ์‹œ๊ฐ์  ํ”„๋กœ์„ธ์Šค ๋””์ž์ด๋„ˆ๋Š” ์žฌ๊ท€๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณต์žกํ•œ ์†”๋ฃจ์…˜์„ ๊ตฌ์ถ•ํ•˜๋Š” ์‚ฌ์šฉ์ž ์นœํ™”์ ์ธ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœ ์‹œ๊ฐ„์„ ๋Œ€ํญ ๋‹จ์ถ•ํ•˜๊ณ  ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์ด๋ฉฐ ์ตœ์ข… ์ œํ’ˆ์˜ ์ „๋ฐ˜์ ์ธ ํ’ˆ์งˆ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์žฌ๊ท€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ ์šฉํ•œ ์ „ํ˜•์ ์ธ ์˜ˆ๋Š” ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค. ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด์€ ์ผ๋ จ์˜ ์ˆซ์ž๋กœ, ๊ฐ ์ˆซ์ž๋Š” ์ด์ „ ๋‘ ์ˆซ์ž์˜ ํ•ฉ์ด๋ฉฐ ์ผ๋ฐ˜์ ์œผ๋กœ 0๊ณผ 1๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. n๋ฒˆ์งธ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜๋ฅผ ์žฌ๊ท€์ ์œผ๋กœ ๊ณ„์‚ฐํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œํ˜„๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•จ์ˆ˜ ํ”ผ๋ณด๋‚˜์น˜(n) {
    ๋งŒ์•ฝ (n <= 1) {
        n์„ ๋ฐ˜ํ™˜;
    }

    ๋ฐ˜ํ™˜ ํ”ผ๋ณด๋‚˜์น˜(n - 1) + ํ”ผ๋ณด๋‚˜์น˜(n - 2);
}

์ด ์˜ˆ์—์„œ ํ•จ์ˆ˜๋Š” n <= 1์ด๋ผ๋Š” ๊ธฐ๋ณธ ์‚ฌ๋ก€์— ๋„๋‹ฌํ•  ๋•Œ๊นŒ์ง€ ๋” ์ž‘์€ n ๊ฐ’์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž์‹ ์„ ์žฌ๊ท€์ ์œผ๋กœ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ฌธ์ œ์˜ ๋” ์ž‘์€ ์ธ์Šคํ„ด์Šค์— ๋Œ€ํ•œ ์†”๋ฃจ์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ n๋ฒˆ์งธ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์˜ ๊ฐ’์„ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. ์ด ์ ‘๊ทผ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋ฉด ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์šฐ์•„ํ•˜๊ณ  ๊ฐ„๊ฒฐํ•˜๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์žฌ๊ท€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ˆ ์˜ ๊ฐ•๋ ฅํ•จ๊ณผ ๋‹จ์ˆœ์„ฑ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์žฌ๊ท€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๋˜ ๋‹ค๋ฅธ ์ธ๊ธฐ ์žˆ๋Š” ์˜ˆ๋Š” ์ˆซ์ž์˜ ๊ณ„์Šน์„ ์ฐพ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ณ„์Šน(n!์œผ๋กœ ํ‘œ์‹œ๋จ)์€ n๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ๋ชจ๋“  ์–‘์˜ ์ •์ˆ˜์˜ ๊ณฑ์ž…๋‹ˆ๋‹ค. ๊ณ„์Šน ํ•จ์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์žฌ๊ท€์ ์œผ๋กœ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•จ์ˆ˜ ๊ณ„์Šน(n) {
    ๋งŒ์•ฝ (n <= 1) {
        1์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
    }

    return n * ๊ณ„์Šน(n - 1);
}

ํ”ผ๋ณด๋‚˜์น˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๊ณ„์Šน ํ•จ์ˆ˜๋Š” ์žฌ๊ท€๋ฅผ ํ™œ์šฉํ•˜์—ฌ n ๊ณ„์‚ฐ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค! ๋” ์ž‘์€ ํ•˜์œ„ ๋ฌธ์ œ๋กœ ๋‚˜๋ˆ•๋‹ˆ๋‹ค. ํ•จ์ˆ˜๋Š” n <= 1์˜ ๊ธฐ๋ณธ ์‚ฌ๋ก€์— ๋„๋‹ฌํ•  ๋•Œ๊นŒ์ง€ ์ ์  ๋” ์ž‘์€ n ๊ฐ’์œผ๋กœ ์ž์‹ ์„ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค. ์ด ์‹œ์ ์—์„œ ํ•จ์ˆ˜๋Š” ์ž์ฒด ํ˜ธ์ถœ์„ ์ค‘์ง€ํ•˜๊ณ  ํ•˜์œ„ ๋ฌธ์ œ์— ๋Œ€ํ•œ ์†”๋ฃจ์…˜์ด ๊ฒฐํ•ฉ๋˜์–ด ๊ณฑ์…ˆ์„ ํ†ตํ•ด n์˜ ๊ณ„์Šน์„ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ˆ๋Š” ๋ณต์žกํ•œ ์ˆ˜ํ•™์  ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ์žˆ์–ด ์žฌ๊ท€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์šฐ์•„ํ•จ๊ณผ ๊ฐ•๋ ฅํ•จ์„ ๋”์šฑ ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๋ก ์ ์œผ๋กœ ์žฌ๊ท€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ๋ณต์žกํ•œ ๋ฌธ์ œ๋ฅผ ๋” ์ž‘์€ ํ•˜์œ„ ๋ฌธ์ œ๋กœ ๋‚˜๋ˆ„๊ณ  ๊ฐ ํ•˜์œ„ ๋ฌธ์ œ๋ฅผ ์žฌ๊ท€์ ์œผ๋กœ ํ•ด๊ฒฐํ•จ์œผ๋กœ์จ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ณต์žกํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค„ ์ˆ˜ ์žˆ๋Š” ๊ฐ•๋ ฅํ•˜๊ณ  ๋‹ค์žฌ๋‹ค๋Šฅํ•œ ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. AppMaster ์™€ ๊ฐ™์€ ํ”Œ๋žซํผ์—์„œ ์žฌ๊ท€ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜๋ฉด ๊ฐœ๋ฐœ ์ค‘์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์†๋„, ํ’ˆ์งˆ ๋ฐ ์œ ์ง€ ๊ด€๋ฆฌ ๊ฐ€๋Šฅ์„ฑ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์žฌ๊ท€์˜ ์žฅ์ ๊ณผ ์ž ์žฌ์ ์ธ ๋‹จ์ ์„ ์ดํ•ดํ•จ์œผ๋กœ์จ ๊ฐœ๋ฐœ์ž๋Š” ํ”„๋กœ์ ํŠธ์—์„œ ์žฌ๊ท€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ˆ ์„ ์–ธ์ œ, ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ• ์ง€์— ๋Œ€ํ•ด ์ •๋ณด์— ์ž…๊ฐํ•œ ๊ฒฐ์ •์„ ๋‚ด๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.