7-Q 질문있습니다 :)
안녕하세요 선생님 🙂
어려운 문제는 아니었던거 같지만 모르겠는 부분이 생겨서 질문 드립니다.
visual studio에서는 배열의 범위가 초과되었다는 에러가 계속 뜹니다. 선생님 코드와 다른 점이 없는지 여러 번 검증해보았지만 차이가 없어서 백준에 제출해봤는데요, 맞았다고 하더라구요..
arr의 크기를 18이 아닌 20으로 잡아도 동일한 에러가 잡힙니다. 컴파일러에서 왜 에러가 뜨는건지 모르겠습니다..

http://boj.kr/f91936720fc54768adb00def9dc32b35
메모이제이션 범위가 이해되지 않아 다른 숫자들로 넣어봤는데요, 0.0까지는 문제가 없더라구요. 메모이제이션 범위를 -0.5로 두신 이유가 궁금합니다.
답변 2
1
안녕하세요 유태님 ㅎㅎ
arr의 크기를 18이 아닌 20으로 잡아도 동일한 에러가 잡힙니다. 컴파일러에서 왜 에러가 뜨는건지 모르겠습니다..
-> 해당 코드 확인해봤는데요. 제 컴파일러에서는 에러가 뜨지 않습니다. 이부분은 저도 잘 모르겠습니다.. 다른 컴파일러를 사용해주세요.
참고로 다음의 코드는 문제가 있는 코드입니다. 18까지 잡았으면 17까지 참조되게 해야 합니다.
for (int j = i + i; j <= 18; j += i)
{
arr[j] = 0;
0.0까지는 문제가 없더라구요. 메모이제이션 범위를 -0.5로 두신 이유가 궁금합니다.
->
이 문제같은 경우 0.0이하인 수로 메모이제이션을 걸어도 됩니다.
double go(int idx, int x, int y){
if(idx == n) return isP[x] || isP[y] ? 1.0 : 0.0;
double &ret = dp[idx][x][y];
if(ret >= 0.0) return ret; 앞의 코드처럼 해도 됩니다.
-0.5는 그냥.. 0.0 이하인수중에서 하나 골라서 했습니다. ㅎㅎ
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.
0
안녕하세요, 인프런 AI 인턴입니다. 유태님
질문하신 내용과 관련하여 유사한 문제를 다룬 기존 질문들을 찾아보았습니다. array 범위 초과 에러와 메모이제이션 범위 설정에 관한 문제에 대해 아래의 링크들을 참고하시면 도움이 될 것 같습니다.
배열 범위 초과 에러
Visual Studio에서 배열의 범위 초과 에러가 발생하는 부분에 대해, 유사한 이슈를 겪은 다른 수강생들의 질문과 답변을 보실 수 있습니다.
- 런타임 에러 질문있습니다!
- 런타임 에러와 관련된 유사한 문제를 다루고 있습니다. 강사님이 인덱스 관련 에러에 대해 설명하며, string을 int로 변환할 때의 문제를 지적합니다.
- 런타임 에러와 관련된 유사한 문제를 다루고 있습니다. 강사님이 인덱스 관련 에러에 대해 설명하며, string을 int로 변환할 때의 문제를 지적합니다.
- 4-B 문제 메모리 초과 문의
- 배열의 크기를 잘못 설정해서 발생한 메모리 초과 문제에 대해 다룹니다. 강사님이 인덱스 설정의 중요성에 대해 설명합니다.
- 배열의 크기를 잘못 설정해서 발생한 메모리 초과 문제에 대해 다룹니다. 강사님이 인덱스 설정의 중요성에 대해 설명합니다.
- 시간초과 관련 질문입니다!
- 코드가 배열의 범위를 벗어났을 때 발생하는 문제에 대해 다룹니다. 강사님이 Visual Studio와 관련된 배열 인덱스 문제와 컴파일러 차이에 대해 설명합니다.
- 코드가 배열의 범위를 벗어났을 때 발생하는 문제에 대해 다룹니다. 강사님이 Visual Studio와 관련된 배열 인덱스 문제와 컴파일러 차이에 대해 설명합니다.
메모이제이션 범위 설정
메모이제이션 범위를 설정하는 이유와 관련된 설명들을 찾았습니다.
- 1-L 질문 있습니다!
- 코드의 최적화와 관련된 문제를 다루며, 성능 최적화 및 메모이제이션에 대한 일반적인 방법론을 설명합니다.
- 코드의 최적화와 관련된 문제를 다루며, 성능 최적화 및 메모이제이션에 대한 일반적인 방법론을 설명합니다.
이 링크들을 통해 유사한 문제에 대한 해결책을 얻으실 수 있을 겁니다. 추가적으로, 메모이제이션의 범위를 설정할 때는 코드의 특성과 문제의 요구사항에 맞게 설정하는 것이 중요합니다. 필요한 범위 내에서 최적화해야 하며, 범위를 줄이거나 늘리면 성능 및 정확도에 영향을 미칠 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
교안 158페이지 문의드립니다
0
16
2
코딩살구클럽 관련 건의사항
0
35
1
코살에 19942 다이어트 문제에 N의 범위가 빠져있슴니다
0
19
1
진행 방법 질문드립니다!
0
52
2
2-I) 왜 이 문제가 그래프이론 카테고리에 있는지 잘 모르겠습니다.
0
58
2
2주차 개념#12 트리 순회
0
27
2
백준사이트가 종료된다고 합니다.
0
287
2
백준 서비스 종료
9
890
1
sk 하이닉스 코테 대비
0
368
2
3-G 최댓값 질문
0
51
1
모듈러 연산 값이 10이 아닌 경우도 있지 않나요?
0
83
2
3-I 코드 질문드립니다.
0
62
2
3-N 질문 있습니다.
0
66
2
학습방법
0
102
2
4-H 질문 있습니다 (코드 리뷰)
0
66
2
코딩테스트 어디까지 준비해야 하는지 질문이 있습니다.
0
170
2
2-O 반례가 무엇일지 어떤 부분이 틀렸는지 잘 모르겠습니다.
0
69
2
2주차 개념 #4-2. 인접행렬 질문있습니다.
0
64
2
1-A 문제풀이 후 궁금한 점이 생겨서 질문드립니다.
0
51
2
조합 재귀 풀이 확인 해주시면 감사하겠습니다.
0
68
2
함수별 시간복잡도
0
73
2
3-h 질문입니다.
0
49
1
안녕하세요 선생님. 시간 복잡도 4번 질문있습니다.
0
53
2
1-I 문제 질문 드립니다.
0
76
2





