[코딩테스트] 제곱의 합(1699)

민갱·2023년 11월 5일
0

코딩테스트

목록 보기
13/16

제곱의 합

DP

  • 1의 제곱으로 만들어 낼수 있기 때문에, dp 인덱스에에 k로 초기화
import sys
input = sys.stdin.readline

n = int(input())
dp = [k for k in range(n+1)]

for i in range(1, n + 1):
	for j in range(1, i):
		if j*j > i:
			break
		if dp[i] > dp[i-j*j]+1:
			dp[i] = dp[i-j*j] + 1
print(dp[n])
profile
가보자고

0개의 댓글