728x90 피보나치수열2 [Algorithm] DP (Dynamic Programming) 동적 계획 (DP; Dynamic Programming) 그리디 알고리즘과 같이 최적화 문제를 해결하는 알고리즘 입력 크기가 작은 부분 문제들을 모두 해결한 후에 그 해들을 이용하여 보다 큰 크기의 부분 문제들을 해결 Memoization 피보나치 수열을 재귀함수로 구현하는 경우 '엄청난 중복 호출이 존재한다'는 문제점이 있음 def fibo(n): if n < 2: return 2 else: return fibo(n-1) + fibo(n-2) 메모이제이션 (Memoization) 컴퓨터 프로그램을 실행할 때 이전에 계산한 값을 메모리에 저장해서 매번 다시 계산하지 않도록 하여 전체적인 실행 속도를 빠르게 하는 기술 동적 계획법의 핵심이 되는 기술 앞의 예에서 fibo(n)의 값을 계산하자마자 저장하면(.. 2021. 10. 3. [SWEA/Python] 6323. 함수의 기초 4 📌 문제 https://swexpertacademy.com/main/main.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 📌 문제 접근 방법 피보나치 수열 : 처음 두 항을 1과 1로 한 후, 그 다음 항부터는 바로 앞의 두 개의 항을 더해 만드는 수열 f(n) = f(n-1) + f(n-2) 재귀함수 사용 📌 코드 number = int(input()) def fibo(number) : if number 2021. 7. 22. 이전 1 다음 728x90