일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 백트랙킹
- 다이나믹프로그래밍
- 코딩테스트
- dp
- 프로그래머스 #파이썬 #코딩테스트 #알고리즘
- 파이썬 #알고리즘 #코딩테스트 #프로그래머스
- java #자바 #동빈나
- java #자바 #나동빈
- 자바 #java
- react #리액트 #동빈나
- 백준 #알고리즘 #파이썬 #코딩테스트
- 파이썬
- react #리액트 #동빈나 #나동빈 #유튜브강의
- 프로그래머스
- css #생활코딩 #웹
- 프로그래머스 #파이썬 #알고리즘 #코딩테스트
- 파이썬 #백준 #알고리즘 #코딩테스트
- PYTHON
- BFS
- Dijkstra
- java #자바
- 백준
- 투포인터
- 다익스트라
- css #웹 #생활코딩
- 알고리즘
- DFS
- 백준 #파이썬 #알고리즘 #코딩테스트
- 재귀
- java #자바 #생활코딩
Archives
- Today
- Total
커리까지
[백준] 9095번 1,2,3 더하기 파이썬 본문
728x90
SMALL
문제
정수 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의 합으로 나타내는 방법의 수를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 n이 주어진다. n은 양수이며 11보다 작다.
출력
각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다.
예제 입력 1
3
4
7
10
예제 출력 1
7
44
274
제출 답안
'''
1. 아이디어
- 1,2,3 까지는 dp에 먼저 담는다.
- 4부터는 3번째, 2번째, 1번째 앞의 값을 계속 더하면 된다.
3. 변수
- dp []
'''
import sys
input = sys.stdin.readline
t = int(input())
for _ in range(t):
n = int(input())
dp = [1, 2, 4]
for i in range(3, n):
dp.append(dp[i-3] + dp[i-2] + dp[i-1])
print(dp[n-1])
728x90
LIST
'알고리즘 > 풀이' 카테고리의 다른 글
[백준] 1912번 연속합 파이썬 (0) | 2023.02.10 |
---|---|
[백준] 11053번 가장 긴 증가하는 부분 수열 파이썬 (0) | 2023.02.09 |
[백준] 10844번 쉬운 계산 수 파이썬 (0) | 2023.02.07 |
[백준] 4158번 CD 파이썬 (0) | 2023.02.06 |
[백준] 25916번 싫은데요 파이썬 (0) | 2023.02.05 |
Comments