Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Kaggle
- 금융문자분석경진대회
- 데이콘
- 더현대서울 맛집
- github
- Docker
- Real or Not? NLP with Disaster Tweets
- gs25
- 캐치카페
- ubuntu
- Baekjoon
- 코로나19
- leetcode
- AI 경진대회
- 편스토랑 우승상품
- hackerrank
- 프로그래머스
- 프로그래머스 파이썬
- SW Expert Academy
- Git
- 백준
- 편스토랑
- 자연어처리
- ChatGPT
- 파이썬
- programmers
- 우분투
- 맥북
- dacon
- PYTHON
Archives
- Today
- Total
솜씨좋은장씨
[BaekJoon] 14495번 : 피보나치 비스무리한 수열 (Python) 본문
728x90
반응형
코딩 1일 1문제! 오늘의 문제는 백준의 피보나치 비스무리한 수열 입니다.
👨🏻💻 문제 풀이
이 문제는 말그대로 피보나치 비스무리한 수열을 구하는 문제로
기존에 피보나치 수열 문제를 풀어보았다면 아주아주 쉽게 풀 수 있는 문제입니다.
2022.06.15 - [Programming/코딩 1일 1문제] - [BaekJoon] 10870번 : 피보나치 수 5 (Python)
기존의 피보나치 수열의 규칙이 f(n) = f(n-1) + f(n-2) 라고 한다면
피보나치 비스무리한 수열의 규칙은 f(n) = f(n-1) + f(n-3) 입니다.
def fibo_5(n):
fibo_numbers = [0, 1, 1]
if n > 2:
for idx in range(n-2):
new_fibo_num = fibo_numbers[idx+1] + fibo_numbers[idx+2]
fibo_numbers.append(new_fibo_num)
return fibo_numbers[n]
그래서 기존에 피보나치 수열의 코드에서 아주 조금만 수정하여 풀 수 있습니다.
기존 초기 리스트를 [0, 1, 1] 에서 [0, 1, 1, 1] 로 변경한 뒤에
입력받은 수가 3보다 클때 f(n) = f(n-1) + f(n-3) 규칙을 적용하여 그 다음 값을 구하도록 하였습니다.
fibo_list = [0, 1, 1, 1]
if N > 3:
for idx in range(4, N+1):
fibo_list.append(fibo_list[idx-1] + fibo_list[idx-3])
전체 코드는 아래를 참고해주세요.
👨🏻💻 코드 ( Solution )
def fibo_sim_num(N):
fibo_list = [0, 1, 1, 1]
if N > 3:
for idx in range(4, N+1):
fibo_list.append(fibo_list[idx-1] + fibo_list[idx-3])
return fibo_list[N]
if __name__ == "__main__":
N = int(input())
print(fibo_sim_num(N))
'Programming > 코딩 1일 1문제' 카테고리의 다른 글
[BaekJoon] 25756번 : 방어율 무시 계산하기 (Python) (0) | 2022.12.03 |
---|---|
[BaekJoon] 26082번 : WARBOY (Python) (0) | 2022.12.02 |
[BaekJoon] 18408번 : 3 つの整数 (Three Integers) (Python) (0) | 2022.11.30 |
[BaekJoon] 1340번 : 연도 진행바 (Python) (0) | 2022.11.29 |
[BaekJoon] 18398번 : HOMWRK (Python) (0) | 2022.11.28 |
Comments