일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |
Tags
- spring
- BFS
- Python
- DP
- LCM
- deque
- 누적합
- 합 구하기
- python3
- 완전탐색
- 소수찾기
- 파이썬
- 프로그래머스
- mvc
- pypy3
- JPA
- popleft
- 백준
- Java
- 1일1솔
- c#
- appendleft
- 소수판별
- 브루투포스
- 인프런
- 그리디 알고리즘
- unity
- 연관관계
- C#강의
- 우선순위큐
Archives
- Today
- Total
jae_coding
(백준 알고리즘 문제풀이) 2193번 이친수 본문
반응형
문제
문제 접근
- dp 문제이자 일반식을 도출해내는 문제인 것 같아서 바로 접근을 시도해보았다.
- An이 피보나치 수열과 동일하다는 일반화를 공식화해내었다.
- An = A(n-2) + A(n-1), n >= 2일 때의 일반식을 도출해냈다.
코드
import sys
def fib(N, memo):
if N == 1 or N == 2:
return 1
elif N not in memo:
temp = fib(N-2, memo) + fib(N-1, memo)
memo[N] = temp
return memo[N]
else:
return memo[N]
memo = dict()
N = int(sys.stdin.readline())
print(fib(N, memo))
느낀점
피보나치 수열을 알고있고, 일반식에 대한 개념이 있었기 때문에 알고리즘에 대한 문제를 쉽게 풀었다. 알고리즘은 역시 아는 만큼 푸는 문제인 것 같았다. 더욱 알고리즘에 대한 실력을 키워야겠다고 다짐하게되었다.
반응형
'알고리즘 문제 > 백준' 카테고리의 다른 글
(백준 알고리즘 문제풀이) 10057번 오르막 수 (0) | 2022.07.05 |
---|---|
(백준 알고리즘 문제풀이) 1010번 다리 놓기 (0) | 2022.07.05 |
(백준 알고리즘 문제풀이) 11727번 2xn 타일링 2 (0) | 2022.07.05 |
(백준 알고리즘 문제풀이) 1339번 단어 수학 (0) | 2022.07.05 |
(백준 알고리즘 문제풀이) 11000번 강의실배정 (0) | 2022.07.05 |
Comments