백준 1699 제곱수의 합

Hyun·2023년 1월 22일
0

코딩테스트

목록 보기
15/66

https://www.acmicpc.net/problem/1699
실패이유 : 구현실패

n = int(input())
d = [i for i in range(n + 1)]

for i in range(1, n + 1):
    for j in range(1, int(i ** (1 / 2)) + 1):
        if d[i] > d[i - j * j] + 1:
            d[i] = d[i - j * j] + 1

print(d[n])
  • 일반적인 다이나믹 프로그래밍의 문제풀이
    • 구하려는 정답인 마지막 단계와, 바로 전 단계로 나눈다.
    • 둘의 관계를 통해 점화식을 찾는다.

출처: 코드플러스 - 알고리즘 기초 1/2 강의
https://code.plus/course/41

0개의 댓글

관련 채용 정보