dp[i] : i번째 칸에서 색칠할 수 있는 경우의 수
if __name__ == '__main__':
N = int(input())
dp = [3]*(N+1)
for i in range(2,N+1):
dp[i] = (dp[i-1]*2)%INF
print(dp[N]%INF)
가장 첫째칸만 RGB 3개의 경우의 수가 있고 그 이후로부터는 2개의 색만 선택할 수 있기에 점화식을 위와 같이 세웠다.
INF = 100000007
if __name__ == '__main__':
N = int(input())
dp = [3]*(N+1)
for i in range(2,N+1):
dp[i] = (dp[i-1]*2)%INF
print(dp[N]%INF)