
그림으로 보니까 규칙을 못찾았는데 일렬로 수를 나열해보니까 규칙이 찾아졌다.
1 1 1 2 2 3 4 5 7 9 12 ... 맨 앞의 111을 제외하고서 모두 2개앞의 값 + 3개 앞의 값을 더한 값이 현재의 값이 된다.
T = int(input())
for _ in range(T):
n = int(input())
if n<3:
print(1)
else:
P=[1]*(n)
for i in range(3,n):
P[i] = P[i-3]+P[i-2]
print(P[-1])
간단하게 통과했는데
뭔가 파이서닉하게 작성할 수 있으면 좋을 듯한데 지피티한테 물어봐도 유의미한 정도의 변화는 아니라 그냥 기록하지 않으려 한다.