본문 바로가기
코딩테스트

99클럽 코테 스터디 29일차 TIL : 백준 9461번, 수학

by fecu 2024. 11. 25.
728x90

 

1. 오늘의 문제

 
오늘은 삼각형을 붙이는 문제였다.
 
마치 피보나치 수열같은 느낌?
 
처음에는 규칙이 없는 것처럼 보이지만 5, 7, 9... 에서 부터 규칙이 보이기 시작한다.
 
다음 숫자는 그 이전의 숫자 + 이전 숫자의 -4 인덱스 값이다.
 

더보기

문제

 

오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 길이를 k라 했을 때, 그 변에 길이가 k인 정삼각형을 추가한다.

파도반 수열 P(N)은 나선에 있는 정삼각형의 변의 길이이다. P(1)부터 P(10)까지 첫 10개 숫자는 1, 1, 1, 2, 2, 3, 4, 5, 7, 9이다.

N 주어졌을 , P(N) 구하는 프로그램을 작성하시오.

 

 

2. 코드

 

from sys import stdin
put = stdin.readline

num = int(put())
lst = [0, 1, 1, 1, 2, 2, 3, 4]
for i in range(8, 101):
    lst.append(lst[i-1]+ lst[i-5])
    
for _ in range(num):
    n = int(put())
    if n < 8:
        print(lst[n])
        continue
    print(lst[n])

 

3. 느낀점

 
오늘 문제는 다소 간단한 편이었다.
 
쉬어가는 날이다.

728x90