백준 문제 보러 가기~! 코드😎 n = int(input()) dy = [0]*(n+1) if n == 3: print(n) else: dy[1] = 1 dy[2] = 2 for i in range(3,n+1): dy[i] = dy[i-1]+dy[i-2] print(dy[n]%10007)설명😊 다이나믹 프로그래밍!! 일단 n이 1이라면, 당연히 답은 1이다. 세로로만 세울 수 있다. n이 2라면 답은 2이다. 세로로 두개 혹은, 가로로 두개가 가능하다. n이 3이라면 두 가지 경우로 나눌 수 있다. 맨 끝 부분에서, 세로로 하나인 경우, 그러면 그 안쪽부분은 2개가 있다. 그럴 때 안쪽 2개를 배치하는 방법은 n=2일 때 경우의 수와 같다. 맨 끝 부분에서 가로로 두개를 둘 경우, 안쪽에는 하나만 남았다..