ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • BOJ 9461번
    Study/BOJ 2020. 3. 13. 12:05

    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

    댓글

Designed by Tistory.