[boj] (s3) 9561 파도반 수열

강신현·2022년 4월 19일
0

✅ DP

문제

링크

1. 문제 접근 및 해결 로직

문제에서 P(1)P(1) ~ P(10)P(10) 까지의 답을 알려줬으므로 규칙만 찾으면 된다.
1, 1, 1, 2, 2, 3, 4, 5, 7, 9

앞에 3개는 모두 1로 똑같으므로 넘어가고 2부터 보자

  • N=4, 2 = 1+1 이니까 앞에 3개에서 2개 값을 뽑아서 더한 것이라는 걸 알 수 있다.
  • N=5, 그다음은 또 2이다. 특이하다.. 일단 이전 2와 똑같이 앞에 3개에서 2개 값을 뽑아서 더한 것이라는 것만 생각하고 넘어가자
  • N=6, 3 = 2+1이다.
  • N=7, 4 = 2+2이다.

이제 규칙이 보인다. N의 값 = N-2의 값 + N-3의 값

  • 정의
    P(N)P(N) : 나선에 있는 n번째 정삼각형의 변의 길이
  • 구하는 답
    P(N)P(N)
  • 초기값
    P(0)=1P(0)=1
    P(1)=1P(1)=1
    P(2)=1P(2)=1
  • 점화식
    P(N)=P(N2)+P(N3)P(N)=P(N-2)+P(N-3)

2. 코드

3. 시간 복잡도 분석

경우의 수를 모두 구하므로
O(N)O(N)

4. 문제에서 중요한 부분

DP문제는 점화식을 도출하는 것이 중요하다.
Bottm Up(반복문)으로 풀지 Top Down(재귀)으로 풀지는 선택사항

profile
땅콩의 모험 (server)

0개의 댓글

관련 채용 정보