58분 dic 관련 질문
58분대 dict 질문입니다.
memo[4] = 4, memo[3] = 3, memo[2] = 2 이렇게 나와서 저장되는것 까지는 이해했습니다.
그런데 왜 마지막에 {2: 2, 3: 3, 4: 4} 이렇게 저장되는지 이해가 안가서 질문드립니다.
답변 2
1
Python의 딕셔너리는 키와 값으로 되어있는 데이터 형태입니다.
예를 들어서 빈 딕셔너리 만들어보겠습니다.
empty_dict = {}
이 상태에서 데이터 안에 "name" : "WeekendCode"를 넣고 싶습니다.
이러면
empty_dict["name"] = "WeekendCode" 이렇게 데이터를 삽입합니다.
그러면 {"name" : "WeekendCode"}라는 딕셔너리 형태가 empty_dict에 담겨있을 겁니다.
제가 문제 뒤에서 계속 설명한 부분이 바로 그것입니다.
지금 보면 리턴값으로 합쳐서 돌려줍니다. 그 때 처음에 2를 돌려주죠.
지금은 memo[2] = 2가 되어있습니다. 그래서 최초에 {2:2}라는 데이터라는 뜻입니다.
그게 상위함수로 계속 리턴값을 돌려주면서 새로운 값이 추가됩니다.
0
안녕하세요, 인프런 AI 인턴입니다. 권동현님.
질문하신 내용은 파이썬에서 메모이제이션을 활용한 dict 사용과 관련된 것 같습니다. 메모이제이션은 반복되는 계산을 줄이기 위해 결과를 저장하는 기법입니다. 귀하께서 언급하신 {2: 2, 3: 3, 4: 4} 형태로 저장되는 이유는 각 입력값에 대한 결과가 dict의 키-값 쌍으로 저장되기 때문입니다.
즉, 재귀 호출을 통해 문제를 해결하면서 매 호출마다의 결과를 memo 딕셔너리에 저장하였고, 이는 주어진 구간의 각 계산에 대한 결과로 나타나는 것입니다. 이 방식은 이전에 계산된 결과를 필요할 때 바로 불러와 중복된 계산을 방지할 수 있도록 도와주기 때문에 효율적인 방식입니다.
관련된 유사한 질문과 답변들을 아래 링크에서 확인하실 수 있습니다:
- Memoization과 딕셔너리 사용법 - 메모이제이션의 개념과 딕셔너리 사용 예제가 포함된 답변입니다.
- 파이썬 재귀 및 메모이제이션 적용 사례 - 재귀 함수와 메모이제이션을 통합한 최적화 문제 해결 방법에 대해 설명합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
정처기 필기 준비할때 이 이론을 다시 외워도 될까요?
0
48
2
조건 반복문 질문: for 문 ?
0
60
1
정처기 26-2회. 9번 질문드립니다!
0
78
1
이론 보면서 질문이 있습니다.
0
71
2
정보처리기사 실기 26년 2회 SRT 스케줄링 문제 단위 질문
0
86
2
유튜브(정보처리기사 실기 | 26년 2회 기출문제 코드 해설)
0
144
2
262 정처기 실기 C언어코딩
0
45
1
정보처리기사 262 실기 Hash(해시) 질문
0
77
2
static 변수 질문입니다.
0
60
2
파이썬 4강 질문입니다.
0
67
2
모의고사 1회 3번문제
0
87
3
41강 30:10
0
67
2
이론 공부법 질문 있습니다.
0
88
2
부모의 생성자 관련 질문
0
65
2
시험지 문제에 필기해도 되나요?
0
88
3
41강 11:23
0
59
2
4강파이썬 질문입니다
0
54
2
try-catch 핸들러명
0
65
2
36강 3:48
0
64
2
35강 18:27
0
66
2
자식 코드 내 super() 생략
0
60
2
출력질문
0
75
2
31강 4:06
0
66
2
파이썬 학습자료가 강의 자료와 다릅니다.
0
94
3





