반응형
https://www.acmicpc.net/problem/9461
9461번: 파도반 수열
문제 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 �
www.acmicpc.net

DP문제.
그림 덕분에 쉽게 점화식이 유추 가능하다.
n번째 삼각형 = n-1번째 삼각형 + n-5번째 삼각형이므로
table[n] = table[n-1] + table[n-5] 형태의 함수를 구현하면 된다.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import sys | |
n = int(sys.stdin.readline()) | |
memo = {1:1,2:1,3:1,4:2,5:2} | |
def find_result(number : int) -> int: | |
if number in memo: | |
return memo[number] | |
memo[number] = find_result(number-1) + find_result(number-5) | |
return memo[number] | |
for _ in range(n): | |
num = int(sys.stdin.readline()) | |
print(find_result(num)) |
반응형
'프로그래밍 > 코딩테스트 문제풀이' 카테고리의 다른 글
[Python] 백준 3109. 빵집 (0) | 2020.07.27 |
---|---|
[Python] 백준 2458. 키 순서 (0) | 2020.07.24 |
[Python] 백준 3197. 백조의 호수 (0) | 2020.07.21 |
[Python] 백준 16918. 봄버맨 (0) | 2020.07.20 |
[Python] SWExpertAcademy. 수영장 (0) | 2020.07.15 |