-
https://www.acmicpc.net/problem/9461
피도반 수열의 새로운 삼각형의 한 변의 길이는 직전 삼각형의 변의 길이와 5번째 전 삼각형의 변의 길이의 합입니다.
import sys def make_p_list(max_range, p_list): if max_range > 10: for i in range(max_range - 10): next_p = p_list[-1] + p_list[-5] p_list.append(next_p) else: pass return p_list def out(p_list, test_case_list): for test_case in test_case_list: print(p_list[test_case-1]) T = int(sys.stdin.readline()) p_list = [1, 1, 1, 2, 2, 3, 4, 5, 7, 9] test_case_list = [] max_range = 10 for i in range(T): test_case = int(sys.stdin.readline()) if test_case > max_range: max_range = test_case test_case_list.append(test_case) p_list = make_p_list(max_range, p_list) out(p_list, test_case_list)
우선 테스트 케이스를 담을 test_case_list를 구하고
max_range라는 값에 테스트 케이스중 가장 큰 값을 담습니다.
make_p_list로 10개까지 구해진 p_list에 max_range가 10이 넘는다면 max_range까지 p_list에 값을 추가합니다.
out 함수로 테스트 케이스를 담은 test_case_list를 for문으로 돌며 p_list에서 해당하는 값을 가져옵니다.
'Study > BOJ' 카테고리의 다른 글
BOJ 11053번 (0) 2020.03.09 BOJ 11727번 (0) 2020.02.24 BOJ 1912번 (0) 2020.02.21 BOJ 2156번 (0) 2020.02.20 BOJ 1932번 (0) 2020.02.02