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])
'Coding Test > baekjoon' 카테고리의 다른 글
[백준 2660] 회장 뽑기- python (solved.ac - 골드 5) (0) | 2022.05.03 |
---|---|
[백준 2225] 정수 삼각형- python (solved.ac - 골드 5) (0) | 2022.05.02 |
[백준 14891] 톱니바퀴 - python (solved.ac - 골드 5) (0) | 2022.05.01 |
[백준 9251] LCS - python (solved.ac - 골드 5) (0) | 2022.04.29 |
[소프티어] 슈퍼바이러스 - python (레벨 3) (0) | 2022.04.29 |