본문 바로가기
알고리즘/Solved_Silver

[Python Silver III 9095] 1, 2, 3 더하기

by Hexs 2023. 9. 14.
반응형

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

 

9095번: 1, 2, 3 더하기

각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다.

www.acmicpc.net

시간 제한 메모리 제한
1초 512MB

 

문제

  • 정수 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의 합으로 나타내는 방법의 수를 출력한다.

 

알고리즘 분류

  • 다이나믹 프로그래밍

 


 📖 Code

Case = [1,2,4,0,0,0,0,0,0,0,0]

for i in range(3,len(Case)):
    Case[i] = Case[i-1] + Case[i-2] + Case[i-3]
    
for _ in range(int(input())):
    print(Case[int(input())-1])

 ✅ Comment

 

간단한 규칙만 찾으면 쉽게 풀 수 있는 문제이다.



입력된 정수 n의 값을 구하려면 n-1 n-2 n-3의 값을 다 더해주면 된다.

 

 

 

 

 

반응형