Tags
- Brute Force Algorithm
- BOJ
- ์ ๋ ฌ
- ๊น์ด ์ฐ์ ํ์
- Dynamic Programming
- ๊ทธ๋ํ ์ด๋ก
- Study
- CodingTest
- ๊ต์ฌ
- Java
- ์ ์๋ก
- sort
- ๋ฌธ์์ด
- ์๋ฎฌ๋ ์ด์
- stack
- greedy
- BFS
- DP
- PGM
- Python
- LV2
- ์ํ
- SpringBoot
- dfs
- ์๋ฃ๊ตฌ์กฐ
- ๊ทธ๋ํ ํ์
- ๊ตฌํ
- ๋ฐฑํธ๋ํน
- ๋๋น ์ฐ์ ํ์
- queue
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_13301 : ํ์ผ ์ฅ์๋ฌผ ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- ๋์ ๋ชจ์์ผ๋ก ์ปค์ ธ๊ฐ๋ ํ์ผ์ n๊ฐ ๋ฐฐ์นํ์๋ ๋ง๋ค์ด์ง ์ง์ฌ๊ฐํ์ ๋๋ ๋ฅผ ์ถ๋ ฅํ๋ค.
- 3๋ฒ์งธ ํ์ผ ๋ถํฐ๋ ํผ๋ณด๋์น ์์ด ๋ฐฉ์์ผ๋ก ์ฆ๊ฐํ๋ค.
๐ธ ์ฝ๋ ๐ธ
n = int(input())
arr = [1, 1]
if n == 1:
answer = 4
elif n == 2:
answer = 6
else:
for i in range(n-2):
arr.append(sum(arr[-2:]))
answer = arr[-1]*2 + sum(arr[-2:])*2
print(answer)
๐ธ ์ฝ๋ ํด์ ๐ธ
- n์ด 1์ด๊ฑฐ๋ 2์ผ๋๋ ์์ธ๋ก ๋ฐ๋ก ๊ณ์ฐํ๋ค.
- n์ด 3์ด์์ผ๋ ํผ๋ณด๋์น ์์ด ์ฒ๋ผ ๊ณ์ฐํ๋ค.
- ํ์ผ์ ํ ๋ณ์ ๊ธธ์ด๋ฅผ ํผ๋ณด๋์น ์์ด ๋ฐฉ์์ผ๋ก ์ฆ๊ฐ์ํจ๋ค.
๐ธ ๋ค๋ฅธ ํ์ด ๐ธ
n = int(input())
d = [0] * (n+1)
d[0] = 4
d[1] = 6
for i in range(2, n):
d[i] = d[i-1] + d[i-2]
print(d[n-1])
- ํ์ผ์ ํ ๋ณ์ ๊ธธ์ด๊ฐ ์๋๋ผ, ๋ง๋ค์ด์ง ์ง์ฌ๊ฐํ์ ๋๋น๋ฅผ ํผ๋ณด๋์น ์์ด๋ฐฉ์์ ์ ํ์์ผ๋ก ๊ณ์ฐํ๋ค.
- ๋ฐฐ์ด d๋ฅผ n+1 ํฌ๊ธฐ๋ก ๋ง๋๋๋ฐ, ์ฌ์ค n๊ฐ๊ฐ ์ฐ์ด๊ณ ๋ง์ง๋ง ์ธ๋ฑ์ค n์ ์ฐ์ง ์๋๋ค.
- n==1 ์ผ๋, d[1]์ ๊ฐ์ ๋ฃ์ผ๋ฉด ์ธ๋ฑ์ค ์ค๋ฅ๊ฐ ๋๊ธฐ ๋๋ฌธ์ด๋ค.
๐ธ end ๐ธ
- dp๋ฌธ์ ์ธ ๊ฑด ์์์ง๋ง, ๋ค๋ฅธ ํ์ด์ฒ๋ผ ์ข ๋ ๊น๋ํ๊ฒ ๋ง๋ค ์ ์์ด์ผ๊ฒ ๋ค๊ณ ์๊ฐํ๋ค.
- ๋๋น๋ ํผ๋ณด๋์น ์์ด ๋ฐฉ์์ธ์ง๋ ๋ค๋ฆ๊ฒ ์ ์ ์์๋ค.
728x90
'CodingTest > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_5211 : ๊ฐ๋จ์กฐ์ ๋ค์ฅ์กฐ (0) | 2022.11.13 |
---|---|
BOJ_5566 : ์ฃผ์ฌ์ ๊ฒ์ (0) | 2022.11.11 |
BOJ_2810 : ์ปตํ๋ (0) | 2022.11.05 |
BOJ_4998 : ์ ๊ธ (0) | 2022.11.04 |
BOJ_1193 : ๋ถ์์ฐพ๊ธฐ (0) | 2022.10.19 |