본문 바로가기
  • 초부득3 - 어제보다 나은 내일을 위해
  • 꿈이 현실이 되는 날까지
sw사관학교 정글 2기/01 기초,재귀,완전탐색, 정렬

[DP] 백준 9095번 1,2,3 더하기 with python3

by 금의야행 2021. 8. 13.

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

 

9095번: 1, 2, 3 더하기

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

www.acmicpc.net

문제

 

내 풀이

import itertools

n = int(input())
a = []
for _ in range(n):
    num = int(input())

    if num == 1:
        a.append(str(1))

    elif num == 2:
        a.append(str(2))

    elif num == 3:
        a.append(str(4))

    elif num > 2:
        count = 0
        for i in range(2, num+1):
            result = list(itertools.product(([1, 2, 3]), repeat=i))
            for j in range(len(result)):
                if sum(result[j]) == num:
                    count += 1
        a.append(str(count))

# print('\n'.join(a))
for i in range(len(a)):
    print(a[i])

해설

 

 

정답 풀이

#추가예정

출처:

 

해석

 

댓글