[๋ฌธ์ ๋งํฌ] ๐ https://www.acmicpc.net/problem/2775
์ค๋ช
์ํํธ a์ธต bํธ์ ๊ฑฐ์ฃผํ๋ ค๋ฉด (a - 1)์ธต์ 1ํธ๋ถํฐ bํธ๊น์ง์ ์ฌ๋๋ค ์์ ํฉ๋งํผ ๋ฐ๋ฆฌ๊ณ ์์ผ ํ๋ค.
์ด ์ํํธ๋ 0์ธต๋ถํฐ ์๊ณ 1ํธ๋ถํฐ ์๋ค. 0์ธต์๋ iํธ = i๋ช ์ด ์ฌ๋๋ฐ, 1ํธ์๋ 1๋ช , 2ํธ์๋ 2๋ช ์ฉ ์ฐ๋ค๋ ๋ง์ด๋ค.
๋ชจ๋ ๊ฑฐ์ฃผ์๋ค์ด ์ ์กฐ๊ฑด์ ๋ชจ๋ ๋ง์กฑํ๊ณ ๊ฑฐ์ฃผํ๊ณ ์๋ค๊ณ ํ์ ๋ a์ธต bํธ์๋ ์ด ๋ช ๋ช ์ ๋ฐ๋ฆฌ๊ณ ์์ผ ํ๋์ง ์ถ๋ ฅํด์ผ ํ๋ค.
ํ์ด
2์ธต 3ํธ์ ์ฌ๋ ์๋ฅผ ๊ตฌํด์ผ ํ ๋
| 1ํธ | 2ํธ | 3ํธ | |
| 2์ธต | 1๋ช | (1+3) = 4๋ช | (1+3+6) = 10๋ช |
| 1์ธต | 1๋ช | (1+2) = 3๋ช | (1+2+3) = 6๋ช |
| 0์ธต | 1๋ช | 2๋ช | 3๋ช |
0์ธต์ ์ฌ๋ ์๊ฐ ์ผ์ ํ๋ฏ๋ก ๋จผ์ 0์ธต์ 3ํธ๊น์ง์ ์ฌ๋ ์๋ฅผ ์ ์ฅํ๋ค.
ho = [i for i in range(1, n + 1)]
๋ค์์ผ๋ก, 1์ธต 2ํธ๋ถํฐ ์ฌ๋ ์๋ฅผ ์ ์ฅํ๋ค. ์๋ ์ฝ๋์ ๊ฐ์ด ์ ์ฅํ๋ฉด ์๋์ ๊ฐ์ ํ๊ฐ ๋๋ค.
for i in range(1, f + 1):
for j in range(1, n):
ho[j] += ho[j - 1]
| 1ํธ | j = 1์ผ ๋(2ํธ) | j = 2์ผ ๋(3ํธ) | |
| i = 2์ผ ๋(2์ธต) | 1 | ho[1] = h[1] + h[0] โ 3 + 1 = 4 โ ho[1, 4, 6] |
ho[2] = h[2] + h[1] โ 6 + 4 = 10 โ ho[1, 4, 10] |
| i = 1์ผ ๋(1์ธต) | ho[0] = 1 | ho[1] = h[1] + h[0] โ 2 + 1 = 3 โ ho[1, 3, 3] |
ho[2] = h[2] + h[1] โ 3 + 3 = 6 โ ho[1, 3, 6] |
| 0์ธต | ho[0] = 1 | ho[1] = 2 | ho[2] = 3 |
๋ง์ง๋ง์ผ๋ก, 3ํธ์ ์ธ๋ฑ์ค๋ 2์ด๊ธฐ ๋๋ฌธ์ n - 1 ์ธ๋ฑ์ค๋ฅผ ์ถ๋ ฅํ๋ค.
print(ho[n - 1])
Solution
t = int(input()) #ํ
์คํธ ์ผ์ด์ค
for _ in range(t):
f = int(input())
n = int(input())
ho = [i for i in range(1, n + 1)] #0์ธต, nํธ๊น์ง ์ฌ๋์ ์ ์ฅ
for i in range(1, f + 1): #1์ธต๋ถํฐ f์ธต๊น์ง
for j in range(1, n): #1ํธ๋ถํฐ nํธ๊น์ง
ho[j] += ho[j - 1]
print(ho[n - 1])
๐ฉ๐ป ํ๊ณ
์๋ฐ๋ก ํ๋ค๊ฐ ๋ค์ ํ์ด์ฌ์ผ๋ก ๋์์๋ค. ์๋ฐ๋ก ๋ค์ ์์ํ๊ธฐ์ ์๊ฐ์ด ๋ค์ ๋ถ์กฑํ๋ค๊ณ ํ๋จํ๋ค. ์ค๋๋ง์ ํ์ด์ฌ์ผ๋ก ํธ๋๊ฑด๋ฐ๋ ๊ธฐ์ต์ ๋ค ๋๋ค.
'๐งฉ Algorithm > [BOJ] Bronze' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| BOJ 10798๋ฒ : ์ธ๋ก์ฝ๊ธฐ (Python/์ํ/Bronze 1) (1) | 2024.10.15 |
|---|---|
| BOJ 1934๋ฒ : ์ต์๊ณต๋ฐฐ์ (Python/์ํ/Bronze 1) (0) | 2024.10.15 |
| BOJ 11721 : ์ด ๊ฐ์ฉ ๋์ด ์ถ๋ ฅํ๊ธฐ (Java/๊ตฌํ/Bronze 3) (0) | 2024.10.14 |
| BOJ 3009 : ๋ค ๋ฒ์งธ ์ (Java/๊ตฌํ/Bronze 3) (0) | 2024.10.14 |
| BOJ 5086 : ๋ฐฐ์์ ์ฝ์ (Java/์ํ/Bronze 3) (0) | 2024.10.14 |