9095 1,2,3 더하기
업데이트:
카테고리: 다이나믹 프로그래밍, 코딩테스트
1. 정답 코드
문제의 내 정답 코드는 다음과 같다.
T = int(input())
input_array = []
for _ in range(T):
input_array.append(int(input()))
'''
이게 무조건 bottomup 방식으로 푼다고 생각해야하는 듯.
딱 유형은 지금까진 2개다. 최소같은 단어가 나오면 원래 하던 유형이고,
뭔가 모든 경우를 구하는 것은 타일문제를 생각하자.
'''
d = [0]*(11)
d[1] = 1
d[2] = 2
d[3] = 4
for i in range(4,max(input_array)+1):
d[i] = d[i-1]+d[i-2]+d[i-3]
for j in input_array:
print(d[j])
2. 문제 풀이
풀이라기 보단.. 위 코드에 주석처럼 문제의 유형을 잘 파악해야할 것 같다..