๐ ๋ฌธ์
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;
}
}
'๐งฉ Algorithm > ๐ง JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ฌธ์์ด ์ ๋ ฌํ๊ธฐ (1) (0) | 2023.04.10 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ชจ์ ์ ๊ฑฐ (0) | 2023.04.10 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ต๋๊ฐ ๋ง๋ค๊ธฐ (1) (0) | 2023.04.10 |
[ํ๋ก๊ทธ๋๋จธ์ค] ํฉ์ฑ์ ์ฐพ๊ธฐ (1) | 2023.04.10 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ฃผ์ฌ์์ ๊ฐ์ (0) | 2023.04.10 |