

1411. Number of Ways to Paint N × 3 Grid
조합론에 가까운 풀이로 경우를 나눠 점화식을 사용해 풀었다.
모두 다른 색깔을 사용하는 경우와 똑같은 색깔이 있는 경우를 나누면 된다.
class Solution: # LeetCode 제출을 위한 Solution 클래스 정의
def numOfWays(self, n: int) -> int: # N × 3 격자를 칠하는 전체 경우의 수를 계산하는 함수
a, b = 6, 6 # 첫 행 기준: ABA 패턴 6개, ABC 패턴 6개로 초기화
MOD = 10**9 + 7 # 문제에서 요구하는 모듈러 값 설정
for _ in range(1, n): # 두 번째 행부터 n번째 행까지 순차적으로 전이
a, b = (2*a + 2*b) % MOD, (2*a + 3*b) % MOD # 이전 행의 상태(a, b)를 기반으로 새로운 상태 계산
return (a + b) % MOD # 마지막 행에서 가능한 모든 경우(a + b)를 반환

다른 풀이들도 이와 같았다.
Hard 난이도였지만 익숙한 조합론이라 쉬웠다.