n=1 부터 하나씩 n 을 늘려가면서 규칙을 찾아본다.
n = 1 1
n = 2 2
n = 3 3 <-- n=1 + n=2
n = 4 5 <-- n=2 + n=3
n = 5 8 <-- n=3 + n=4
그림을 그려서 보면, N 번째 경우 세로 1칸 + (N-1)칸, 가로 2칸 + (N-2)칸으로 나타내 볼 수 있다.
def solution(n):
list = [1, 2]
for i in range(2, n):
list.append((list[i-2] + list[i-1]) % 1000000007)
return list[n-1]
주어진 내용 안에서 최대한의 규칙을 찾아본다. 그림을 그려서 보면 더 좋다.