티스토리 뷰

반응형

www.acmicpc.net/problem/9095

 

9095번: 1, 2, 3 더하기

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

www.acmicpc.net

 


 

⊙ 문제

⊙ 입력

⊙ 출력

⊙ 예제 입출력

⊙ 알고리즘 분류

  • 다이나믹 프로그래밍

 


 

⊙ 문제 접근 과정

 

3,4개 정도를 직접 풀어보면서 규칙을 찾고 점화식을 만들면 된다.

 

1-> 1

2-> 2

3-> 4

4-> 7

5-> 13

 

점화식으로 표현하면

solution(n) = solution(n-1) + solution(n-2)+ solution(n-3) //(n>3)


 

⊙ 문제 풀이

 

t= int(input())

def solution(n):
    if n==1:
        return 1
    elif n==2:
        return 2
    elif n==3:
        return 4
    else:
        return solution(n-1) + solution(n-2) +solution(n-3)

    
for i in range(t):
    n = int(input())
    print(solution(n))

⊙ 결과

 


 

 

⊙ 마무리

 

 

NONE

 

좋아요 로그인하지 않아도 누를 수 있습니다!

 

728x90
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
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
글 보관함