728x90
반응형
※ 문제링크
해당 문제는 문제의 규칙을 이용하여 배열을 만들어 푸는 문제였다. 피보나치 수열과 비슷한 규칙을 가지고 있다고 문제에서 사전에 조건을 주었기에 비교적 쉽게 규칙을 발견할 수 있었다. 해당 문제의 규칙은 3까지는 1의 값을 가지다가 그 이상이 되면 N은 값이 N-3의 값과 N-2의 값을 더한 값이 되는 것이었다. 규칙을 알고나니 구현하는 것은 어렵지 않았다. 문제를 푸는 방법과 코드는 아래와 같다.
1. 입력값을 받고 그 길이 만큼 배열을 생성한다.
2. 생성한 배열에 반복문을 돌려서 값을 부여한다.
import sys
input = sys.stdin.readline
T = int(input())
for _ in range(T):
N = int(input())
arr = [0 for _ in range(N)]
for i in range(N):
if i < 3:
arr[i] = 1
else:
arr[i] = arr[i-3] + arr[i-2]
print(arr[N-1])
P.S 개발자가 되기위해 공부중입니다. 잘못된 부분을 댓글로 남겨주시면 학습하는데 큰 도움이 될 거 같습니다.
728x90
반응형
'알고리즘 > BOJ' 카테고리의 다른 글
[BOJ] 1149번 RGB거리 / 사용언어 : 파이썬(python) (0) | 2021.12.23 |
---|---|
[BOJ] 1932번 정수 삼각형 / 사용언어 : 파이썬(python) (0) | 2021.12.22 |
[BOJ] 1904번 타일 / 사용언어 : 파이썬(python) (0) | 2021.12.22 |
[BOJ] 9184번 신나는 함수 실행 / 사용언어 : 파이썬(python) (0) | 2021.12.22 |
[BOJ] 1003번 피보나치 함수 / 사용언어 : 파이썬(python) (0) | 2021.12.22 |
댓글