[BaekJoon] 9095 : 1, 2, 3 만들기
🔦 문제 링크
✍️ 나의 풀이
1, 2, 3을 사용할 수 있으므로 n-1, n-2, n-3
의 숫자는 모두 n
으로 만들 수 있다.
따라서, 먼저 dp[1], dp[2], dp[3]의 초기 값을 구해준다.
이때 조심해야할 점은 dp크기를 n+3크기로 동적할당해줘야 초기화시 에러가 나지 않는다.
dp[i] = dp[i-1] + dp[i-2] + dp[i-3]
🛠 나의 코드
t = int(input())
for _ in range(t):
n = int(input())
dp = [0]*(n+3)
dp[1] = 1
dp[2] = 2
dp[3] = 4
for i in range(4, n+1):
dp[i] = dp[i-1] + dp[i-2] + dp[i-3]
print(dp[n])
📝 정리
🎈 참고
Author And Source
이 문제에 관하여([BaekJoon] 9095 : 1, 2, 3 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@pyh8618/BaekJoon-9095-1-2-3-만들기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)