๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โŒจ๏ธ Language/swift

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.0] ํŒฉํ† ๋ฆฌ์–ผ

by hyebin (Helia) 2022. 12. 30.
๋ฐ˜์‘ํ˜•

ํŒฉํ† ๋ฆฌ์–ผ

๋ฌธ์ œ ์„ค๋ช…

iํŒฉํ† ๋ฆฌ์–ผ (i!)์€ 1๋ถ€ํ„ฐ i๊นŒ์ง€ ์ •์ˆ˜์˜ ๊ณฑ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 5! = 5 * 4 * 3 * 2 * 1 = 120์ž…๋‹ˆ๋‹ค. ์ •์ˆ˜ n์ด ์ฃผ์–ด์งˆ ๋•Œ ๋‹ค์Œ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๊ฐ€์žฅ ํฐ ์ •์ˆ˜ i๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด ์ฃผ์„ธ์š”.

  • i! ≤ n

์ œํ•œ ์‚ฌํ•ญ

  • 0 < n ≤ 3,628,800

์ž…์ถœ๋ ฅ ์˜ˆ

n result
3628800 10
7 3

์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

์ž…์ถœ๋ ฅ ์˜ˆ #1

  • 10! = 3,628,800์ž…๋‹ˆ๋‹ค. n์ด 3628800์ด๋ฏ€๋กœ ์ตœ๋Œ€ ํŒฉํ† ๋ฆฌ์–ผ์ธ 10์„ return ํ•ฉ๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #2

  • 3! = 6, 4! = 24์ž…๋‹ˆ๋‹ค. n์ด 7์ด๋ฏ€๋กœ, 7 ์ดํ•˜์˜ ์ตœ๋Œ€ ํŒฉํ† ๋ฆฌ์–ผ์ธ 3์„ return ํ•ฉ๋‹ˆ๋‹ค.

์ œ์ถœ

import Foundation

func solution(_ n:Int) -> Int {
    if n == 1 {return 1}

    var num = 2, index = 2
    while true{
        num *= (index+1)
        if num > n {return index}
        index += 1
    }
    return index
}
๋ˆ„์ ๊ณฑ์ด n ๋ณด๋‹ค ์ปค์งˆ ๋•Œ๊นŒ์ง€ 1์”ฉ ์ฆ๊ฐ€์‹œํ‚ค๋ฉด์„œ ๊ณฑํ•ด์ค€๋‹ค

 

๋ฐ˜์‘ํ˜•