๐Ÿงฉ Algorithm/[BOJ] Bronze

BOJ 2775๋ฒˆ : ๋ถ€๋…€ํšŒ์žฅ์ด ๋ ํ…Œ์•ผ (Python/๊ตฌํ˜„/Bronze 1)

devCloud 2024. 10. 15. 13:27
728x90

[๋ฌธ์ œ ๋งํฌ] ๐Ÿ‘‰ 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])

 

 

๐Ÿ‘ฉ‍๐Ÿ’ป ํšŒ๊ณ 

์ž๋ฐ”๋กœ ํ’€๋‹ค๊ฐ€ ๋‹ค์‹œ ํŒŒ์ด์ฌ์œผ๋กœ ๋Œ์•„์™”๋‹ค. ์ž๋ฐ”๋กœ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ธฐ์—” ์‹œ๊ฐ„์ด ๋‹ค์†Œ ๋ถ€์กฑํ•˜๋‹ค๊ณ  ํŒ๋‹จํ–ˆ๋‹ค. ์˜ค๋žœ๋งŒ์— ํŒŒ์ด์ฌ์œผ๋กœ ํ‘ธ๋Š”๊ฑด๋ฐ๋„ ๊ธฐ์–ต์€ ๋‹ค ๋‚œ๋‹ค.


 

728x90