ํฐ์คํ ๋ฆฌ ๋ทฐ
๋ฌธ์
๋ฌธ์ ํ์ด
๋ฒํผ์ ๋๋ฅผ ์ ์๋ ํ์ N์ด ์ฃผ์ด์ง ๋, A ๋ฒํผ, Ctrl-A, Ctrl-C, Ctrl-V๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ฅ ๋ง์ด A๋ฅผ ์ถ๋ ฅํ๋ ํ์๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค. ์ฃผ์ด์ง ํ์ 3, 7, 11์ ๊ท์น์ ์ด๋์ด๋ผ ์ ์๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์ฐพ์ผ๋ฉด ๋ฌธ์ ๋ฅผ ์ฝ๊ฒ ํด๊ฒฐํ ์ ์๋ค.
์ฐ์ 1์์ 6๊น์ง๋ A๋ฅผ ๋ณต์ฌํ๋ ๊ฒฝ์ฐ๋ณด๋ค A๋ฅผ ์ ๋ ฅํ๋ ๊ฒ์ด ๋ ๋ง์ A๋ฅผ ์ถ๋ ฅํ ์ ์๋ค. ๋ฐ๋ผ์ 1์์ 6๊น์ง๋ A๊ฐ ์ถ๋ ฅ๋๋ ํ์๊ฐ 1, 2, 3, 4, 5, 6์ด๋ค. ํ์ง๋ง 7๋ถํฐ๋ ๋ณต์ฌ๋ฅผ ํ๋ ๊ฒ์ด ๋ ๋ง์ A๋ฅผ ์ถ๋ ฅํ ์ ์๊ฒ ๋๋ค.
๋ณต์ฌ๋ฅผ ํตํด A๊ฐ ์ถ๋ ฅ๋๋ ํ์๋ฅผ ๋๋ฆด ์ ์๋ ์ต์ด์ ๊ฒฝ์ฐ์ธ 7์ ์๊ฐํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์ ์๊ฐ ์๋ค.
- A๋ฅผ 3๊ฐ ์ถ๋ ฅํ๊ณ ๋ณต์ฌํ๋ ๊ฒฝ์ฐ
- A๋ฅผ 2๊ฐ ์ถ๋ ฅํ๊ณ ๋ณต์ฌํ๋ ๊ฒฝ์ฐ
- A๋ฅผ 1๊ฐ ์ถ๋ ฅํ๊ณ ๋ณต์ฌํ๋ ๊ฒฝ์ฐ
๋ฐ๋ผ์ ์ ํ์์ `dp[i] = max(dp[i - 3] * 2, dp[i - 4] * 3, dp[i - 5] * 4)`๋ก ์ธ์ธ ์ ์๋ค. ๊ทธ ํ๋ก๋ ์์ ๊ฐ์ ์ ์งํ๊ณ ์์ผ๋ฏ๋ก ํด๋น ์ ํ์์ ๋ฐ๋ณตํ์ฌ N์ด๋ผ๋ ํ์๊ฐ ์ฃผ์ด์ก์ ๋, ์ต๋๋ก ์ถ๋ ฅ๋๋ A๋ฅผ ์ฐพ์ ์ ์๋ค.
์ฝ๋
from sys import stdin
if __name__ == '__main__':
n = int(stdin.readline())
dp = [num for num in range(n + 1)]
for i in range(7, n + 1):
dp[i] = max(dp[i - 3] * 2, dp[i - 4] * 3, dp[i - 5] * 4)
print(dp[n])
'๐จโ๐ป ์ฝ๋ฉํ ์คํธ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค: 12865 ํ๋ฒํ ๋ฐฐ๋ญ (0) | 2020.08.28 |
---|---|
๋ฐฑ์ค: 1495 ๊ธฐํ๋ฆฌ์คํธ (0) | 2020.08.27 |
๋ฐฑ์ค: 2294 ๋์ 2 (0) | 2020.08.26 |
๋ฐฑ์ค: 2293 ๋์ 1 (0) | 2020.08.26 |
๋ฐฑ์ค: 1890 ์ ํ (0) | 2020.08.25 |