jayheo91   3년 전

안녕하세요,

문제를 풀다가 문득 의문점이 생겨서 질문드립니다.

DFS로 풀면 쉽게 해결될 문제인 것은 알고 있지만, 실전 코딩테스트에서 과연 이걸 생각할 수 있을까? 라는 의문이 들어 브루트포스로 한번 문제를 해결해 보았습니다.

제가 단순히 생각해 보았을 때, 500*500이 맥시멈이고 모든 점을 계산한다면 19 * 4 = 76의 경우의 수가 나와서 총 76 * 500 * 500 = 1800만 이라 생각하고 문제를 풀이하여 보았습니다.

하지만 시간 초과로 fail 되었고, 속도가 빠른 PyPy3으로 진행하니 pass 되었습니다.

일반적으로 맥시멈 경우의 수가 1억인 경우에만 시간 관련해서 문제가 생길 것으로 생각하고 문제를 풀었는데.. 어디선가 속도 저하가 이루어 지는 것 같습니다.

아래와 같은 단순한 코드를 사용할 때, 문제 연산을 발목잡는 부분이 어느 부분일지 알 수 있을까요?

댓글을 작성하려면 로그인해야 합니다.