백준 pypy3 제출 메모리초과

장선규·2022년 1월 30일
1

어제 도전했던 문제이다.
https://www.acmicpc.net/problem/11066

안타깝게도 이 문제는 python3로 제출하면 시간초과이다. pypy로 제출해야 시간초과가 안 나는데,
여태 pypy가 계속해서 메모리초과가 떴던 것을 우연히 해결하였다.
(다른 문제들도 pypy로 제출하면 항상 메모리초과가 떴음)

사실 저 방법 외에도 이것저것 다른 시도(삽질)를 많이 했었는데 결국 풀지는 못했다. 그래서 결국 다른 사람들의 코드를 보았는데... 나의 알고리즘과 크게 다르지 않았고, 그 사람들은 pypy로 제출하여 통과가 되었다는 것을 보았다.

그래서 나도 pypy로 제출해야겠다 생각하고 제출했는데, 늘 그렇듯 메모리초과가 떴다...
이상하다고 생각되어 구글링 중
https://imksh.com/46
이 글을 보고 생각지도 못한 부분에서 메모리를 많이 잡아먹을 수 있다는 것을 깨달았다.

import sys
sys.setrecursionlimit(10 ** 8)

파이썬의 재귀 최대치(?)를 늘려주는 작업인데, 이 작업이 pypy에서는 메모리 초과를 일으켰던 것이다.

지금 생각하니 좀 멍청한데, 발견하고 깨달아서 다행이다.
만일 본인이 pypy로 제출하면 뭐 할것도 없이 메모리초과가 뜬다면, 한 번 의심해보는 것도 좋을 것 같다.

profile
코딩연습

0개의 댓글