[Python] 11727번 2xn 타일링 2

촨석·2024년 6월 17일

백준

목록 보기
4/5


이해를 위해 전 문제를 보고오자!

11726번 2xn 타일링




으악 이번에는 2x2타일이 하나 추가되었다

그렇다면 2x2를 만들때는

이렇게 3가지 경우가 있으니 초기값을 수정해주자

2xn의 직사각형을 채우는 경우의 수는
마찬가지로 2x(n-1)의 경우와 2x(n-2)경우에서

두가지를 붙이는 경우의수가 존재하기때문에 (2x1타일 두개는 2x(n-1)연산에 포함)
*2를 해주면 되겠다

nemo = {1:1,2:3} #초기화값

def nemo2(n):
  if (n in nemo):		#전에 계산한경우 결과값 리턴
    return nemo[n]
  
  nemo[n] = nemo2(n-1) + nemo2(n-2)  * 2		#2x(n-2)에서 2x2모양이 두개이므로  *2
  return nemo[n]


n = int(input())
print(nemo2(n) % 10007)

해당 글은 직접 공부한 내용을 정리한 글입니다
어설픈 코딩실력은 너그럽게 봐주시고 조언은 항상 환영입니다..!

profile
바보가 되어브럿다 갱생불가

0개의 댓글