반응형
10448번: 유레카 이론
프로그램은 표준입력을 사용한다. 테스트케이스의 개수는 입력의 첫 번째 줄에 주어진다. 각 테스트케이스는 한 줄에 자연수 K (3 ≤ K ≤ 1,000)가 하나씩 포함되어있는 T개의 라인으로 구성되어
www.acmicpc.net
코드
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 |
댓글