https://www.acmicpc.net/problem/20058
2021/04/16
297264 KB
1400 ms
ice 의 배열을 tmp에 그대로 복사하기 위해서
tmp = ice
를 하면 얕은 복사
를 하기 때문에 ice 배열의 원소를 변경하면 tmp 배열의 원소도 같이 변하기 때문에 tmp의 역할을 제대로 수행 할 수 없다. 따라서,
import copy
tmp = **copy.deepcopy**(ice)
위와 같은 깊은 복사
를 해주어야 한다.
Python이 정한 최대 재귀 깊이는 sys.getrecursionlimit()
을 이용해 확인할 수 있다. BOJ의 채점 서버에서 이 값이 1,000으로 되어 있기 때문에 Python이 정한 최대 재귀 깊이보다 재귀의 깊이가 더 깊어질 때 **런타임에러(RecursionError)**가 발생하게 된다.
import sys
sys.setrecursionlimit(10**5)
이를 방지하기 위해서는, 위의 코드와 같이 sys.setrecursionlimit(**)**
을 사용하여 Python이 정한 최대 재귀 깊이를 변경하면 된다.