1️⃣코딩테스트
[피보나치 수]
🔹피보나치 수를 푸는 두가지 방법
1. 재귀함수
점화식 F(n) = F(n-2) + F(n-1)을 이용한 재귀 호출 방법
n이 50 이상일 때 시간 초과 문제 발생
2. 반복문
for문을 이용한 동적 계획법
메모이제이션을 활용해 재귀 호출 횟수 감소 가능
❓메모이제이션
계산한 값을 저장해두었다가 쓸 일이 있을 때 활용
저장 자료구조로는 배열 추천
🔹피보나치 수가 매우 커질 때
n번째 피보나치 수의 n이 매우 크다면 자료형의 범위를 넘어가 오버플로우가 발생할 수 있다.
→ 모든 단계에서 % 연산을 사용하여 모든 연산에서 오버플로우가 일어나지 않게 해주어야 함
💡나머지 연산의 성질
(a + b) % m = ((a % m) + (b % m)) % m
이를 문제에 적용하면
F(n) % m = (F(n-1) + F(n-2)) % m = (F(n-1) % m + F(n-2) % m) % m
[카펫]
'TIL' 카테고리의 다른 글
| [250602 TIL] k 진수에서 소수 개수 구하기 | 위젯 드래그 앤 드랍 (0) | 2025.06.02 |
|---|---|
| [250509 TIL] 최종 팀프로젝트 인벤토리 구조 설계 (0) | 2025.05.09 |
| [250501 TIL] 최종 프로젝트 UML Diagram 설계 (0) | 2025.05.01 |
| [250423 TIL] 예상 대진표 | 언리얼 AI Behavior Tree (0) | 2025.04.23 |
| [250422 TIL] 공원산책 | 언리얼 애니메이션 블루프린트 공부 (0) | 2025.04.22 |