RUBY

[BOJ] 1, 2, 3 더하기 본문

PS/BOJ

[BOJ] 1, 2, 3 더하기

RUBY_루비 2020. 7. 7. 11:46

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

 

1. 문제 이해 및 해결과정

 

2. 풀이방법

  1. DP

#1, 2, 3 더하기
#https://www.acmicpc.net/problem/9095
import sys
sys.stdin = open("input.txt","r")
t=int(input())
for _ in range(t):
    n=int(input())
    #dp=[0]*(n+1) ->에러원인
    dp=[0]*12
    dp[1]=1
    dp[2]=2
    dp[3]=4
    if n>=4:
        for i in range(4,n+1):
            dp[i]=dp[i-1]+dp[i-2]+dp[i-3]
    print(dp[n])

 2. DP 리팩토링

#1, 2, 3 더하기
#https://www.acmicpc.net/problem/9095
import sys
sys.stdin = open("input.txt","r")
t=int(input())
dp=[0,1,2,4]

for i in range(4, 11):
    dp.append(dp[i - 1] + dp[i - 2] + dp[i - 3])

for _ in range(t):
    n=int(input())
    print(dp[n])

 

 

3. 오답원인

 - 1번 코드에서 초기화를 n만큼 해서 오류가 있었다. testcase 가 1     1 일 때 오류

 

4. 알게된 점

 

'PS > BOJ' 카테고리의 다른 글

[백준] 2×n 타일링 2  (0) 2020.07.07
[BOJ] 2×n 타일링  (0) 2020.07.07
[BOJ] 가장 긴 증가하는 부분 수열 ★  (0) 2020.07.06
[BOJ] 알고스팟 1261 ★  (0) 2020.07.04
[BOJ] 숨박꼭질 4 R  (0) 2020.07.03
Comments