Coding Test/baekjoon
[백준 9461] 파도반 수열 - python (solved.ac - 실버 3)
조용장
2022. 5. 2. 09:53
https://www.acmicpc.net/problem/9461
9461번: 파도반 수열
오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의
www.acmicpc.net
풀이
문제를 보았을때 알수있는 힌트
문제를 보면 p의 변수가 커질수록 값이 증가하는 모습을 볼 수 있다. 또한 반복적으로 늘어나는 것을 확인한다면 쉽게 풀수있는 문제이다.
p[0] = 1
p[1] = 1
p[2] = 1
p[3] = p[0]+p[1] = 2
p[4] = p[1]+p[2] = 2
p[5] = p[2]+p[3] = 3
이런 패턴을 찾게 되었다면
p[n] = p[n-3]+p[n-2] 이라는 것을 알수있다 이를 dp를 통해 풀면 쉽게 문제를 해결할 수 있다.
import sys
input= sys.stdin.readline
dp=[0]*103
dp[0] = 1
dp[1] = 1
dp[2] = 1
for i in range(3,len(dp)):
dp[i]=dp[i-2]+dp[i-3]
n = int(input())
for i in range(n):
temp=int(input())
print(dp[temp-1])