[Python] 백준/BOJ 9095번: 1, 2, 3 더하기

2023. 3. 19. 16:39·Algorithm/백준 (BOJ)
반응형

문제 링크

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


문제

정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 7가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다.

  • 1+1+1+1
  • 1+1+2
  • 1+2+1
  • 2+1+1
  • 2+2
  • 1+3
  • 3+1

정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법의 수를 구하는 프로그램을 작성하시오.


풀이

n 1 2 3 4 5 6
합으로
나타내는
방법
1 1+1
2
1+1+1
2+1
1+2
3
1+1+1+1
2+1+1
1+2+1
1+1+2
2+2
3+1
1+3
1+1+1+1+1
2+1+1+1
1+2+1+1
1+1+2+1
1+1+1+2
2+2+1
2+1+2
1+2+2
3+1+1
1+3+1
1+1+3
3+2
2+3
1+1+1+1+1+1
2+1+1+1+1
1+2+1+1+1
1+1+2+1+1
1+1+1+2+1
1+1+1+1+2
2+2+1+1
2+1+2+1
2+1+1+2
1+2+1+2
1+2+2+1
1+1+2+2
2+2+2
3+1+1+1
1+3+1+1
1+1+3+1
1+1+1+3
3+2+1
3+1+2
2+3+1
2+1+3
1+3+2
1+2+3
3+3
방법 수
(cnt[n])
1 2 4 7 13 24

cnt[1] = 1

cnt[2] = 2

cnt[3] = 4

cnt[4] = 7 = cnt[1] + cnt[2] + cnt[3]

cnt[5] = 13 = cnt[2] + cnt[3] + cnt[4]

cnt[6] = 24 = cnt[3] + cnt[4] + cnt[5]

...

cnt[i] = cnt[i-3] + cnt[i-2] + cnt[i-1]


정답 코드

import sys
input = sys.stdin.readline

t = int(input())

cnt = [0] * 11
cnt[1] = 1
cnt[2] = 2
cnt[3] = 4

for i in range(4, 11):
    cnt[i] = cnt[i-3] + cnt[i-2] + cnt[i-1]

for _ in range(t):
    n = int(input())
    print(cnt[n])
반응형

'Algorithm > 백준 (BOJ)' 카테고리의 다른 글

[Python] 백준/BOJ 2579번: 계단 오르기  (0) 2023.03.21
[Python] 백준/BOJ 11726번: 2×n 타일링  (0) 2023.03.20
[Python] 백준/BOJ 2346번: 풍선 터뜨리기  (0) 2023.02.27
[Python] 백준/BOJ 1021번: 회전하는 큐  (0) 2023.02.27
'Algorithm/백준 (BOJ)' 카테고리의 다른 글
  • [Python] 백준/BOJ 2579번: 계단 오르기
  • [Python] 백준/BOJ 11726번: 2×n 타일링
  • [Python] 백준/BOJ 2346번: 풍선 터뜨리기
  • [Python] 백준/BOJ 1021번: 회전하는 큐
올콩
올콩
콩 심은 데 콩 난다
  • 올콩
    콩스토리
    올콩
  • 전체
    오늘
    어제
    • 분류 전체보기 (151) N
      • SSAFY (10)
      • Algorithm (77) N
        • 이론 (5)
        • 백준 (BOJ) (71) N
        • 프로그래머스 (1)
      • Frontend (5)
      • React (13)
      • Next.js (3)
      • Vue (4)
      • Node.js (3)
      • Trouble Shooting (7)
      • HTML (9)
      • DevOps (3)
        • Git (3)
      • Language (9)
        • Java (9)
      • Embedded (1)
      • CS (5)
        • Network (1)
        • Blockchain (4)
      • 자격증 (2)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    오블완
    React
    DP
    렌더링최적화
    카카오맵
    누적합
    vue
    SSAFYcial
    bfs
    강의
    싸피
    해시
    kakaomap
    Java
    티스토리챌린지
    우선순위큐
    알고리즘
    자바
    html5
    Error
    구현
    github
    Algorithm
    SSAFY
    dfs
    재귀
    백준
    블록체인
    Next.js
    파이썬
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
올콩
[Python] 백준/BOJ 9095번: 1, 2, 3 더하기
상단으로

티스토리툴바