Tags
- ๊ตฌํ
- LV2
- dfs
- ์๋ฃ๊ตฌ์กฐ
- ๊ทธ๋ํ ํ์
- Python
- ๊ทธ๋ํ ์ด๋ก
- ์ ์๋ก
- BOJ
- Dynamic Programming
- ๊น์ด ์ฐ์ ํ์
- CodingTest
- ๊ต์ฌ
- BFS
- ๋๋น ์ฐ์ ํ์
- ๋ฌธ์์ด
- ๋ฐฑํธ๋ํน
- Brute Force Algorithm
- sort
- queue
- greedy
- DP
- Study
- SpringBoot
- ์๋ฎฌ๋ ์ด์
- ์ํ
- Java
- ์ ๋ ฌ
- PGM
- stack
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_2057 : ํฉํ ๋ฆฌ์ผ ๋ถํด ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- ํฉํ ๋ฆฌ์ผ์ ์กฐํฉ์ผ๋ก n์ ๋ง๋ค ์ ์๋์ง ํ๋จํ๋ค.
- n๋ณด๋ค ์์ ํฉํ ๋ฆฌ์ผ์ ํฐ ์๋ถํฐ n์ ๋นผ๋ฉฐ 0์ ๋ง๋ค ์ ์๋์ง ํ์ธํ๋ค(๊ทธ๋ฆฌ๋)
๐ธ ์ฝ๋ ๐ธ
fact = [0] * 20
fact[0] = 1
for i in range(1, 20):
fact[i] = fact[i-1] * i
n = int(input())
if n == 0:
print("NO")
else:
for i in range(19, -1, -1):
if n >= fact[i]:
n -= fact[i]
if n:
print("NO")
else:
print("YES")
๐ธ ์ฝ๋ ํด์ ๐ธ
- n์ ์ต๋๊ฐ 1,000,000,000,000,000,000์ fact(19)๋ณด๋ค ํฌ๊ณ , fact(20)๋ณด๋ค ์์ผ๋ฏ๋ก, fact(19)๋ถํฐ n์์ ๋นผ๋ฉฐ ๊ณ์ฐํ๋ค.
- ํฉํ ๋ฆฌ์ผ์ ์ต์๊ฐ fact(0)์ 1์ด๋ฏ๋ก n์ด 0์ด๋ฉด ๋ง๋ค ์ ์๋ค.
๐ธ end ๐ธ
- ํฉํ ๋ฆฌ์ผ 19๊ฐ ๊ทธ๋ ๊ฒ ํฌ์ง ์์๊ฑฐ๋ผ ์๊ฐํ๋๋ฐ, ๊ฐ์ ๋ณด๊ณ ๋๋๋ ๊ฒ ๊ฐ๋ค.
- ๋ง๋ค ์ ์๋์ง ์๋์ง ๋นผ๋ฉฐ ๊ณ์ฐํ๋ ๊ฒ์ด ์์ฃผ ๊ทธ๋ฆฌ๋ํ ํ์ด๋ผ๊ณ ๋๊ผ๋ค.
- ํฉํ ๋ฆฌ์ผ์ ์กฐํฉ์ ๋ชจ๋ ๊ณ์ฐํ๋ Brute Force ์๊ณ ๋ฆฌ์ฆ์ผ๋ก๋ ํ์ด๋๋ ๊ฒ ๊ฐ๋ค.
728x90
'CodingTest > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_2999 : ๋น๋ฐ ์ด๋ฉ์ผ (0) | 2022.12.01 |
---|---|
BOJ_2909 : ์บ๋ ๊ตฌ๋งค (0) | 2022.12.01 |
BOJ_25643 : ๋ฌธ์์ด ํ ์๊ธฐ (0) | 2022.11.20 |
BOJ_25373 : ๋ฒผ๋ฝ์น๊ธฐ (0) | 2022.11.20 |
BOJ_23253 : ์๋ฃ๊ตฌ์กฐ๋ ์ ๋ง ์ต๊ณ ์ผ (0) | 2022.11.18 |