๐ก How to solve Python's Recursion ERROR?
โ ๋ฐฑ์ค ๋ฌธ์ 11123๋ฒ์ ํ๊ณ ์ ์ถํ๋ ์ค ๋ฐํ์ ์๋ฌ(recursion error)๋ฅผ ๋ง๋ฌ์ ๋
โ ์๊ณ ๋ฆฌ์ฆ ๋ฐ ๊ธฐ๋ณธ์ ์ธ ๋ก์ง์ ๋ค ๋ง๋๋ฐ ์ ๋ฐํ์ ์๋ฌ(recursion error)๊ฐ ๋จ๋์ง ์ง์ํ์ง ๋ชปํ๊ณ ์์ ๋
โ ๊ทธ๋ํ ํ์ ๋ฌธ์ ์์ ์ฌ๊ท ํธ์ถ์ ์ฌ์ฉํ์ฌ ํ๋ก๊ทธ๋๋ฐ์ ํ์ ๋
์์ ๊ฒฝ์ฐ์ ํด๋นํ๋ค๋ฉด, ํ์ด์ฌ ์ฌ๊ท ๊น์ด ์ ํ์ ๊ฑธ๋ ธ์ ๊ฐ๋ฅ์ฑ์ด ๋งค์ฐ ๋๋ค. ์ฐ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ฅผ ํ ๋ ์ฌ๊ท ํธ์ถ์ ์ด์ฉํ์ฌ ํธ๋ ๊ฒฝ์ฐ๊ฐ ๊ต์ฅํ ๋ง์๋ฐ, ์ด ๋ ๋ฌธ์ ์์ ์ฌ๊ท๋ฅผ ๋ง์ด ๋๋ฆด ๊ฒฝ์ฐ ์์ธ ๋ฏธ์์ ๋ฐํ์ ์๋ฌ(recursion error)์ ๋น ์ง๊ฒ ๋๋ค.
โ ๏ธ ํ์ด์ฌ(Python)์์๋ 1000๋ฒ ์ด์์ ์ฌ๊ท(recursion)๊ฐ ๋ฐ์ํ๋ฉด ์๋ฌ๊ฐ ๋ฌ๋ค. ๊ธฐ๋ณธ ์ฌ๊ท ๊น์ด ์ ํ์ด ๋งค์ฐ ์ ๊ธฐ ๋๋ฌธ์ ๋ฐ๋์ sys.setrecursionlimit() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๊ท ๊น์ด๋ฅผ ํฌ๊ฒ ์ก์์ฃผ์ด์ผ ํ๋ค.
import sys
sys.setrecursionlimit(100000)
=> ์ฝ๋์ ์๋จ์ ์์ฑํด์ฃผ๋ฉด ์ฌ๊ท์ ์ต๋ ๊น์ด๊ฐ 100000์ผ๋ก ๋ฐ๋๊ฒ ๋๋ค. (๊ดํธ ์์ ์ซ์๋ ํ์์ ๋ฐ๋ผ ์์ ์ด ์์์ ์ผ๋ก ์ค์ ๊ฐ๋ฅ)
๋จ, pypy์์๋ sys.setrecursionlimit์ ์ฌ์ฉํ์ฌ ์์๋ก ์ฌ๊ท์ ์ต๋ ๊น์ด๋ฅผ ์ค์ ํ ์ ์๋ค.
ํ์ด์ฌ์ผ๋ก ์ฌ๊ท๋ฅผ ์ฌ์ฉํด ๋ฌธ์ ๋ฅผ ํ ๋(ํนํ BFS, DFS)๋ ํญ์ ์ ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ์ด ์ข๋ค!
'Programming Language > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Python - strip ํจ์์ split ํจ์์ ์ฐจ์ด ๋ฐ ์ฌ์ฉ๋ฐฉ๋ฒ (0) | 2022.06.27 |
---|---|
Python - ๋ฐํฌ(deque)์ ๊ฐ๋ (0) | 2022.05.27 |
CodeUp ๊ธฐ์ด 100์ ์ ๋ฆฌ (0) | 2021.07.13 |
Python - ๋ฌธ๋ฒ ๊ณต๋ถ ์ ๋ฆฌ(9~10) (0) | 2021.07.03 |
Python - ๋ฌธ๋ฒ ๊ณต๋ถ ์ ๋ฆฌ(5~8) (0) | 2021.07.02 |