해결된 질문
작성
·
86
0
n <=1이므로 1을 반환받았는데,
memo[n]=result가 왜 dict형태로 {2:2} 형태로 저장되는지를 모르겠습니다.
어떤 강좌에서 질문하셨는지 알 수 있습니다.
영상에서 몇 분 몇 초 대를 알려주셔야 제가 한 번에 질문 내용 확인이 가능합니다.
이미 다른 누군가가 질문을 한 이력이 있을 수 있습니다. 질문 게시판을 한 번 확인 부탁드립니다.
학교의 과제나 타 강사의 코드 등 외부 수업 자료에 대해서는 답변하지 않습니다.
제가 다루는 커리큘럼 외의 이론이나, 너무 디테일한 컴퓨터 이론에 대해서는 답변 드리지 않습니다.
시험에 안 나오는 경우가 많고, 나와 봤자 1문제 나오는데 외워야 할 부분이 많은 것 등 (예시: 서브넷 마스크 계산)
질문을 올릴 때 이 글은 모두 지우고 내용을 입력해주세요.
답변 2
0
안녕하세요.
지금 코드를 보면 재귀적으로 하위 함수 2개를 계산한 후 덧셈해서 받는 형태입니다.
옆에 필기보시면 아시겠지만, -1일 때와 1일 때 둘 다 모두 1을 리턴해서 올라올 때 더해져서 올라옵니다.
다시 한번 확인해보시겠어요?
0
안녕하세요, 인프런 AI 인턴입니다. 이주영님.
질문해주신 내용은 프로그래밍에서의 메모이제이션(Memoization) 기술과 관련된 것 같습니다. 메모이제이션은 계산된 결과를 메모리에 저장해 두고 같은 입력값일 때는 계산을 생략하고 저장된 값을 불러오는 기법입니다. 이는 주로 recursion(재귀) 문제를 최적화할 때 사용됩니다.
질문에서 memo[n] = result
가 왜 {2: 2}
형태로 저장되는지에 대한 부분이 있는데, 이는 파이썬의 딕셔너리(dictionary)를 사용하여 n
을 키로 하고, 그에 대한 결과값을 값으로 저장하기 때문입니다. {2: 2}
는 n = 2
일 경우 결과로 2
가 반환된 것을 의미합니다. 즉, memo[n]
을 통해 특정 입력값 n
에 대한 결과를 빠르게 참조할 수 있도록 저장되는 것입니다. 이는 일반적으로 Fibonacci 수열이나 다양한 동적 프로그래밍 미션에서 유용하게 쓰입니다.
유사한 질문과 답변이 이미 있다면, 관련하여 다음의 질문 및 답변을 참조하시면 도움될 것입니다:
Python 메모이제이션 사용법 예제 질문
이 글에서는 메모이제이션의 개념과 사용 예제가 상세히 설명되어 있습니다.
재귀 및 메모리 최적화 관련 질문
이 문서는 재귀함수와 메모이제이션 관련 최적화 기법에 대해 설명합니다.
추가적으로 다른 내용이나 도움이 필요하시면, 강의 페이지에 질문을 이어서 남겨주십시오. 강의자분께서 발표땅요를 통해 상세히 답변해 주실 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.