๐ŸŒ  ๋ฌธ์ œ

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 ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿงž ํ’€์ด

function solution(n) {
    let i = 1;
    let answer = 1;
    
    // answer์—๋Š” ํŒฉํ† ๋ฆฌ์–ผ์˜ ๊ฐ’์„ ํ• ๋‹น, ์กฐ๊ฑด์ด ์ถฉ์กฑ๋  ๋•Œ๊นŒ์ง€ 1์”ฉ ์ฆ๊ฐ€
    while (i < n) {
        answer ++;
        i = i * answer;
    }
    
    // ๊ณฑํ•œ ๊ฐ’์ด n๋ณด๋‹ค ์ปค์กŒ์„ ๋•Œ๋Š”, ๊ทธ ์ „ ํŒฉํ† ๋ฆฌ์–ผ์ด ๊ฐ’์ด๋‹ˆ answer - 1
    if (i > n) {
        return answer - 1;
    } else {
        return answer;
    }
}

+ Recent posts