백준 python 기록

백준 python 13301 타일 장식물

작지 2021. 7. 6. 08:47

백준 링크 : https://www.acmicpc.net/problem/13301

 

13301번: 타일 장식물

대구 달성공원에 놀러 온 지수는 최근에 새로 만든 타일 장식물을 보게 되었다. 타일 장식물은 정사각형 타일을 붙여 만든 형태였는데, 한 변이 1인 정사각형 타일부터 시작하여 마치 앵무조개

www.acmicpc.net

 

간단한 dp문제라고 생각했다.

 

그림대로 1+1 = 2 , 1+2 = 3,  2+3 = 5, 3+5 = 8 이런식으로 (dp[a-1] + dp[a-2])의 법칙을 보여준다.

 

우선 dp [0,1]을 설정해서 원하는 숫자까지는 출력이 가능하게 되었다. 하지만 둘레를 만들기 위해서 따로 짝수와 홀수 계산을 해야하나 생각을 조금 하게되었는데 그것보다 더 쉽게 할 수 있는 방법이 있었다.

다음 숫자까지 계산 한 후 dp[-1] 과 dp[-2] 를 합친 수의 x2가 결과값가 동일하다는걸 알았다.

 

 

 

풀이

a=int(input())
dp=[0,1]
for i in range(a+2):
    if i == 0 or i == 1:
        pass
    else:
        dp.append(dp[i-1]+dp[i-2])
print((dp[-1]+dp[-2])*2)

 

혹시 다른 풀이법이 있다면 공유해주시면 감사하겠습니다.

틀린 부분 비효율적인 부분이 넘쳐날수있습니다.

감사합니다.