백준 9461 파도반 수열

김민영·2022년 12월 30일
0

알고리즘

목록 보기
16/125

계획

  • i번째 삼각형 한 변의 길이는 i-1, i-5번째 삼각형 변 길이 합이랑 같게 됨.
  • 삼각형이 회전하는 모습임. 한 바퀴 돌아서 변이 연결되는 삼각형이랑은 360도 차이가 나게 됨. 정삼각형의 꼭지점 각도는 60도니까, 360 / 6이니 6 step으로 규칙이 발생함.
  • 5번째 삼각형까지는 초기화해주고, 5이하 값이 입력되는 경우 예외 처리 하기.
import sys
tc = int(input())
lst = [0, 1, 1, 1, 2, 2]

for _ in range(tc):
    N = int(input())

    if N >= len(lst):

        for i in range(len(lst), N+1):
            lst.append(lst[i-1] + lst[i-5])
        print(lst[N])
    else:
        print(lst[N])
  • append가 아니라 101길이 lst를 만들고 값만 바꿔주는 식이면 더 빨랐을지도 모르겠다.
  • 이전 테스트케이스에서 썼던 값도 참고하고 싶었음...
profile
노션에 1차 정리합니당 - https://cream-efraasia-f3c.notion.site/4fb02c0dc82e48358e67c61b7ce8ab36?v=

0개의 댓글