관리 메뉴

솜씨좋은장씨

[BaeKJoon] 1699번: 제곱수의 합 (Python) 본문

Programming/코딩 1일 1문제

[BaeKJoon] 1699번: 제곱수의 합 (Python)

솜씨좋은장씨 2020. 6. 1. 22:13
728x90
반응형

1일 1문제 115일차!

115일차의 문제는 제곱수의 합입니다.

 

1699번: 제곱수의 합

어떤 자연수 N은 그보다 작거나 같은 제곱수들의 합으로 나타낼 수 있다. 예를 들어 11=32+12+12(3개 항)이다. 이런 표현방법은 여러 가지가 될 수 있는데, 11의 경우 11=22+22+12+12+12(5개 항)도 가능하다

www.acmicpc.net

Solution

inputNum = int(input())
nc = [0] * (inputNum+1)

for i in range(1, inputNum+1):
    nc[i] = i
    for j in range(1, i):
        if (j * j) > i:
            break

        nc[i] = min(nc[i], nc[i - j * j] + 1)

print(nc[inputNum])
 

SOMJANG/CODINGTEST_PRACTICE

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

 

Comments