반응형
MLE의 원인에 대해 다시 싹 찾아봤다
원인은 3가지로 요약된다
1. 정말 할당된 자료의 크기가 너무 크다
2. 재귀의 깊이가 깊다
3. 무한 루프
나의 경우 3번이 원인으로 MLE를 맞았다
다익스트라 알고리즘에서 최단경로의 갱신은 이미 구해놓은 거리보다 작으면 갱신을 해야하는데
나의 경우 작거나 같으면 갱신을 하게 만들어 두었다
하지만 이 부분을 갱신할값 <= 구해 놓은 값 이렇게 직관적으로 구현하지 않았다 (이렇게 대놓고 틀리게 구현했으면 확인이 용이했을텐데...)
if (nxtCost > dist[nxt]) continue
이렇게 구현을 해서 두 값이 같은 경우에 대해 미묘한 차이가 발생했고 해결에 어려움이 있었다
다음부터는 표준에 맞게, 잘 구현해야겠다는 생각이 들었다
그래도 이렇게 삽질한번 해서 다양한 과정을 거치면서 이것저것 배웠는데 다음 후기글에서는 이에 대해 기록해야겠다
반응형
'CodeReview' 카테고리의 다른 글
BOJ 문제풀이 1 (0) | 2021.01.05 |
---|---|
BOJ 1202 보석도둑 (0) | 2021.01.02 |
백준 개코전쟁(진짜 전쟁중, 치열함) (0) | 2020.12.23 |
백준 2325 개코전쟁 (진짜 전쟁중) (0) | 2020.12.22 |
templates for cp (0) | 2020.09.01 |