백준 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)
혹시 다른 풀이법이 있다면 공유해주시면 감사하겠습니다.
틀린 부분 비효율적인 부분이 넘쳐날수있습니다.
감사합니다.