<aside> ๐Ÿ“– Contents

</aside>

โšซ๏ธ ์žฌ๊ท€ํ•จ์ˆ˜

DFS์™€ BFS๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ ์žฌ๊ท€๋ฅผ ํ•„์ˆ˜์ ์œผ๋กœ ์ดํ•ดํ•ด์•ผํ•œ๋‹ค. ๋‚˜๋Š” ์•„์ง ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ์–ด๋–ป๊ฒŒ ๋Œ๋ ค์„œ ๊ฒฐ๊ณผ๊ฐ’์„ ์ฐพ์œผ๋ฉด ๋˜๊ฒŸ๋‹ค! ์‹ถ์€ ๊ฐ์ด ์•„์ง ์—†๋‹คโ€ฆ.. ์–ด๋–ป๊ฒŒ ๋‹ค๋“ค ์ด๊ฑธ ๊ทธ๋ ‡๊ฒŒ ๋นจ๋ฆฌ๋นจ๋ฆฌ ๋จธ๋ฆฌํšŒ์ „์„ ํ•˜์‹œ๋Š”๊ฒƒ์ธ์ง€..

์žฌ๊ท€ํ•จ์ˆ˜๋ž€, ์ž๊ธฐ ์ž์‹ ์„ ๋‹ค์‹œ ํ˜ธ์ถœํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค. (์ณ‡ ์ด๊ฑด ๋‚˜๋„ ์•Œ์•„)

โ–ช๏ธย ๋Œ€ํ‘œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตฌํ˜„ํ•ด๋ณด๊ธฐ

๋ผ์ด๋ธŒ ์ฝ”๋”ฉ์—์„œ โ€˜ํŒฉํ† ๋ฆฌ์–ผโ€™ ํ˜น์€ โ€˜ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ดโ€™ ์•Œ์•„์š”? ๊ทธ๊ฑฐ ๊ตฌํ˜„ํ•œ๋ฒˆ๋งŒ ํ•ด๋ณผ๋ž˜์š”? ์ด๋Ÿฐ์‹์œผ๋กœ ์ง„ํ–‰๋˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๋‹ค. (์ฃผ๋ณ€์—์„œ ๊ทธ๋žฌ์—ˆ์Œ!) ๊ทธ๋ž˜์„œ ๋Œ€ํ‘œ์ ์œผ๋กœ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•  ๊ฒƒ์ธ์ง€ ์•Œ์•„๋‘๋Š” ๊ฒƒ๋„ ์ค‘์š”ํ•  ๊ฒƒ ๊ฐ™๋‹ค.

๐Ÿ”–ย ํŒฉํ† ๋ฆฌ์–ผ ํ•จ์ˆ˜ ๊ตฌํ˜„ํ•˜๊ธฐ

  1. ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ๊ตฌํ˜„ํ•˜๊ธฐ
func factorial(num: Int) -> Int {
    var result = 1

    for i in 2...num {
        result *= i
    }
    return result
}
  1. ์žฌ๊ท€๋กœ ๊ตฌํ˜„ํ•˜๊ธฐ

    ์žฌ๊ท€ ์•„์ด๋””์–ด๋Š” ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™๋‹ค. ์ž‘์€ ๋ฌธ์ œ๋“ค์„ ๋จผ์ € ํ•ด๊ฒฐํ•ด์ฃผ๋ฉด์„œ ์ฐจ๋ก€๋Œ€๋กœ ์˜ฌ๋ผ์˜ค๋ฉด ๋œ๋‹ค.

    IMG_E579CCE04E0A-1.jpeg

func factorial(num: Int) -> Int {
    if num == 1 {
        return 1
    }

    return num * factorial(num: num-1)
}

๐Ÿ”–ย ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด ๊ตฌํ˜„ํ•˜๊ธฐ

์ˆ˜์—ด 1, 1, 2, 3, 5,,, ๋ฅผ ๊ตฌํ˜„ํ–ˆ๊ณ  num์— ์•Œ๊ณ ์‹ถ์€ ์œ„์น˜ index๋ฅผ ๋„ฃ์œผ๋ฉด ๊ทธ ์ˆ˜๋ฅผ ์•Œ๋ ค์ค€๋‹ค

  1. ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ๊ตฌํ˜„ํ•˜๊ธฐ
func fibonacci(num: Int) -> Int {
    if num == 1 || num == 2 {
        return num
    }

    var a = 1
    var b = 1
    var result = 0

    for _ in 3...num {
        result = a + b
        a = b
        b = result
    }

    return result
}
  1. ์žฌ๊ท€๋กœ ๊ตฌํ˜„ํ•˜๊ธฐ