๐ค๋ฌธ์ ํด๊ฒฐ
1. S1 | ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ
2. target(๋ง๋ค์ด์ผ ํ๋ ๊ธ์ก)์ ๊ธธ์ด๋งํผ์ ๋ฆฌ์คํธ๋ฅผ ๋ง๋ ๋ค.
3. ๋ด๊ฐ ๊ฐ์ง ๋์ ์ ํ๋ํ๋ ๊บผ๋ด์ ๋ฆฌ์คํธ์ ์ธ๋ฑ์ค(๋ด๊ฐ ๋ง๋ค ์ ์๋ ๊ธ์ก)๊ณผ ๋น๊ตํ์ฌ ๋ง๋ค ์ ์์ผ๋ฉด ์นด์ดํธ๋ฅผ ์ธ์ด์ค๋ค.
4. ์์ ํ ์ฒ๋ผ ๊ฐ ๋์ ์ ๊บผ๋์ ๋ ๋ฏธ๋ฆฌ ๋ง๋ค์ด์ง ๊ธ์ก(์ธ๋ฑ์ค)์ ๊บผ๋ธ ๋์ ์ ๋ํด์ ๊ฐ์ ์๋๋ค.
๐จ ๋ค์ด๋๋ฏนํ๋ก๊ทธ๋๋ฐ์ ํ๋ฒ ํด๊ฒฐํ ๋ฌธ์ ๋ ๋ค์ ํด๊ฒฐํ์ง ์๋๋ค. ๊ทธ๋ฆฌ๊ณ ์์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ฌ ํฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค๋ ์๋ฏธ!!!!!!!!! DP๋ ํญ์ ์ด๋ ต๋ค....
๐ป์์ค ์ฝ๋
def _dp():
dp = [0] * (target + 1) # ๊ฒฝ์ฐ์ ์๋ฅผ ์
๋ฐ์ดํธ ํ ๋ฆฌ์คํธ
dp[0] = 1
for coin in coins:
# print('๊บผ๋ธ ๋์ : ',coin)
for i in range(1, target + 1):
# coin(๋ด๊ฐ ๊ฐ์ง ๋์ )์ด ๋ง๋ค ์ ์๋ ๊ธ์ก(i)๋ณด๋ค ํฌ์ง ์์ ๋
if i - coin >= 0:
dp[i] += dp[i - coin]
# print('dp: ',dp)
print(dp[-1])
if __name__ == "__main__":
T = int(input())
for tc in range(1, T+1):
N = int(input()) # ๋์ ์ ๊ฐ์ง ์ <20
coins = list(map(int, input().split())) # ๋์ ์ ์ข
๋ฅ
target = int(input()) # ๋ง๋ค์ด์ผ ํ ๊ธ์ก
_dp()
๐๋ฌธ์ ํ์ธ
์ถ์ฒ: BACKJOON ONLINE JUDGE
๋งํฌ: https://www.acmicpc.net/problem/9084
๋ฌธ์
์ฐ๋ฆฌ๋๋ผ ํํ๋จ์, ํนํ ๋์ ์๋ 1์, 5์, 10์, 50์, 100์, 500์์ด ์๋ค. ์ด ๋์ ๋ค๋ก๋ ์ ์์ ๊ธ์ก์ ๋ง๋ค ์ ์์ผ๋ฉฐ ๊ทธ ๋ฐฉ๋ฒ๋ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์์ ์ ์๋ค. ์๋ฅผ ๋ค์ด, 30์์ ๋ง๋ค๊ธฐ ์ํด์๋ 1์์ง๋ฆฌ 30๊ฐ ๋๋ 10์์ง๋ฆฌ 2๊ฐ์ 5์์ง๋ฆฌ 2๊ฐ ๋ฑ์ ๋ฐฉ๋ฒ์ด ๊ฐ๋ฅํ๋ค.
๋์ ์ ์ข ๋ฅ๊ฐ ์ฃผ์ด์ง ๋์ ์ฃผ์ด์ง ๊ธ์ก์ ๋ง๋๋ ๋ชจ๋ ๋ฐฉ๋ฒ์ ์ธ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ ๋ ฅ์ ์ฒซ ์ค์๋ ํ ์คํธ ์ผ์ด์ค์ ๊ฐ์ T(1 ≤ T ≤ 10)๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ํ ์คํธ ์ผ์ด์ค์ ์ฒซ ๋ฒ์งธ ์ค์๋ ๋์ ์ ๊ฐ์ง ์ N(1 ≤ N ≤ 20)์ด ์ฃผ์ด์ง๊ณ ๋ ๋ฒ์งธ ์ค์๋ N๊ฐ์ง ๋์ ์ ๊ฐ ๊ธ์ก์ด ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ๋์ด ์ฃผ์ด์ง๋ค. ๊ฐ ๊ธ์ก์ ์ ์๋ก์ 1์๋ถํฐ 10000์๊น์ง ์์ ์ ์์ผ๋ฉฐ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋๋ค. ์ธ ๋ฒ์งธ ์ค์๋ ์ฃผ์ด์ง N๊ฐ์ง ๋์ ์ผ๋ก ๋ง๋ค์ด์ผ ํ ๊ธ์ก M(1 ≤ M ≤ 10000)์ด ์ฃผ์ด์ง๋ค.
ํธ์๋ฅผ ์ํด ๋ฐฉ๋ฒ์ ์๋ 231 - 1 ๋ณด๋ค ์๊ณ , ๊ฐ์ ๋์ ์ด ์ฌ๋ฌ ๋ฒ ์ฃผ์ด์ง๋ ๊ฒฝ์ฐ๋ ์๋ค.
์ถ๋ ฅ
๊ฐ ํ ์คํธ ์ผ์ด์ค์ ๋ํด ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋ N๊ฐ์ง ๋์ ์ผ๋ก ๊ธ์ก M์ ๋ง๋๋ ๋ชจ๋ ๋ฐฉ๋ฒ์ ์๋ฅผ ํ ์ค์ ํ๋์ฉ ์ถ๋ ฅํ๋ค.
'Algorithm Problem > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[python] ๋ฐฑ์ค - 1722. ์์ด์ ์์ (0) | 2020.09.04 |
---|---|
[python] ๋ฐฑ์ค - 2240. ์๋๋๋ฌด (0) | 2020.09.03 |
[python] ํ๋ก๊ทธ๋๋จธ์ค - ๋ธ๋ก ์ด๋ํ๊ธฐ(2020 KAKAO BLIND RECRUITMENT) (0) | 2020.09.01 |
[python] ํ๋ก๊ทธ๋๋จธ์ค - ๊ฐ์ฌ ๊ฒ์(2020 KAKAO BLIND RECRUITMENT) (0) | 2020.08.31 |
[python] ํ๋ก๊ทธ๋๋จธ์ค - ๊ฒฝ์ฃผ๋ก ๊ฑด์ค (2020 ์นด์นด์ค ์ธํด์ญ) (0) | 2020.08.30 |