반응형
코드
def check(K):
for i in range(0,len(T)):
for j in range(i,len(T)):
for l in range(j,len(T)):
if T[i]+T[j]+T[l] == K:
return 1
return 0
T = []
i = 1
while 1:
num = i*(i+1)//2
if num < 1000:
T.append(num)
i+=1
else:
break
n = int(input())
for _ in range(n):
K = int(input())
print(check(K))
설명
T 리스트 안에 1000 이하의 삼각수를 모두 저장해놓는다.
check 함수에서는 3중 for문을 사용해서 3개의 삼각수를 더해서 K가 나오는지 확인해서 K가 나오면 1을 return해준다. for문을 빠져나올 때 까지 찾지 못하면 0을 return한다.
반응형
'알고리즘 > 완전탐색' 카테고리의 다른 글
[백준][Python] 14697번 방 배정하기 (0) | 2022.07.13 |
---|---|
[백준][Python] 1436번 영화감독 숌 (0) | 2022.07.13 |
[백준][Python] 3040번 백설 공주와 일곱 난쟁이 (0) | 2022.07.12 |
[백준][Python] 4690번 완전 세제곱 (0) | 2022.07.11 |
[백준][Python] 9094번 수학적 호기심 (0) | 2022.07.11 |
댓글