문제 링크: https://www.acmicpc.net/problem/1699
백준 알고리즘 기초 1/2 400에서 13번째 - 1699번 제곱수의 합을 풀어보았다.
풀이: 코드는 https://lakelouise.tistory.com/61를 참고했고, dp는 계속 해도 어려운 거 같다.
C++
Python
n=int(input())
dp=[i for i in range(n+1)]
for i in range(1,n+1):
for j in range(1,i):
if j**2>i: break
if dp[i]>dp[i-j**2]+1: dp[i]=dp[i-j**2]+1
print(dp[n])
Java
'코테용 문제풀이 > 백준' 카테고리의 다른 글
1, 2, 3 더하기 3 풀이 (0) | 2023.01.17 |
---|---|
합분해 풀이 (0) | 2023.01.17 |
연속합 풀이 (0) | 2023.01.17 |
가장 긴 증가하는 부분 수열 4 풀이 (0) | 2023.01.17 |
가장 긴 증가하는 부분 수열 풀이 (0) | 2023.01.17 |