[백준/Python] 9461번 파도반 수열

2025. 3. 14. 10:22·알고리즘문제풀이

문제

https://www.acmicpc.net/problem/9461


문제 이해(점화식 찾기)

먼저 이 문제는 규칙을 찾아야 한다.

n	ans
1	1
2	1
3	1
4	2
5	2
6	3
7	4
8	5
9	7
10	9
11	12
12	16​

 

n이 1부터 10까지의 답은 문제에 주어져 있어서 규칙을 쓰고 살펴보기 시작했다.

n이 10일 경우 답이 9인데 9=4+5라는 것이 딱 보인 후 다른 값들을 살펴보니 정규식을 찾을 수 있었다.

 

dp[n] = dp[n-2] + dp[n-3]


문제 풀이(정답)

T = int(input())

for _ in range(T):
    n = int(input())
    dp = [1] * (n+1)
    for i in range(4, n+1):
        dp[i] = dp[i-2] + dp[i-3]
    print(dp[-1])

 

다이나믹 프로그래밍을 이용해 문제를 풀어주었다.

다이나믹 프로그래밍은 점화식만 구한다면 이제 막힘없이 풀 수 있을 것 같다! 꽤 익숙해진 느낌이다~

저작자표시 비영리 변경금지 (새창열림)

'알고리즘문제풀이' 카테고리의 다른 글

[프로그래머스/Python] 유연근무제  (0) 2025.03.21
[백준/Python] 1406번 에디터  (0) 2025.03.18
[백준/Python] 1847번 스택 수열  (0) 2025.03.12
[백준/Python] 1012번 유기농 배추  (0) 2025.03.11
[백준/Python] 9095번 1, 2, 3 더하기  (0) 2025.03.10
'알고리즘문제풀이' 카테고리의 다른 글
  • [프로그래머스/Python] 유연근무제
  • [백준/Python] 1406번 에디터
  • [백준/Python] 1847번 스택 수열
  • [백준/Python] 1012번 유기농 배추
jungyn
jungyn
jungyn 님의 블로그 입니다.
  • jungyn
    jungyn 님의 블로그
    jungyn
  • 전체
    오늘
    어제
    • 분류 전체보기 (36)
      • 알고리즘문제풀이 (31)
      • 제로인턴 (5)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    스택 2
    제로인턴
    1847
    DP
    counter
    SYS
    시간초과
    28278
    2차원행렬
    통계헉
    solved.ac
    2563
    너비우선탐색
    교점개수
    2161
    카드1
    2606
    백준
    사전직무교육
    스택
    BFS
    1629
    후기
    2108
    프로그래머스
    수들의 합 2
    18110
    11729
    스택 수열
    다이나믹프로그래밍
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
jungyn
[백준/Python] 9461번 파도반 수열
상단으로

티스토리툴바