본문 바로가기

동적프로그래밍

크래프톤 정글 week03, day23 - 퀴즈 복습, 알고리즘 문제 스택과 레지스터의 용도와 장점 스택 프로시저 호출 시 지역 변수와 매개변수를 저장하기 위한 메모리 공간이며, LIFO(Last in First Out)이라는 마지막에 들어온 값이 먼저 나가는 구조를 가지고 있다. 용도 함수의 로컬 변수 저장 : 각 함수 호출 시 그 함수의 로컬 변수들이 스택에 저장된다. 함수의 제어 흐름 관리 : 함수가 다른 함수를 호출할 때, 반환 주소와 이전 함수의 스택 프레임 정보가 스택에 저장된다. 장점 동적으로 메모리를 할당하고 해제할 수 있다. 구현이 간단하며, 메모리 관리의 오버헤드가 낮다. 레지스터 프로세서 내부의 고속 작동 메모리로, 프로시저 실행 중 자주 접근하는 변수나 중간 계산값을 저장하기 위해 사용 용도 중간 연산 결과 저장 : 연산 중 생성되는 중간 값을 빠르게.. 더보기
크래프톤 정글 week03, day22 - 알고리즘 문제 피보나치2 피보나치를 재귀방식이 아닌 DP방식으로 풀기(동적 프로그래밍) import sys def fibo(n): list = [0, 1] + [0]*(n-1) for i in range(2, n+1): list[i] = list[i-1] + list[i-2] return list[n] n = int(sys.stdin.readline()) print(fibo(n)) 01타일 1또는 00만을 이용해서 n개의 타일을 깔수있는 경우의 수를 구하기(동적 프로그래밍) import sys n = int(sys.stdin.readline()) pibo = [0, 1] m1 = 0 m2 = 0 i = 0 while i != n: m1 = pibo[0] + pibo[1] m2 = pibo[1] pibo[0] = m2 .. 더보기