seoyoniee22   2년 전

del로 폭팔 문자열을 삭제하면 통과이고

스택을 재할당하면 시간초과인 이유가 무엇일까요?

haesoo9410   2년 전

저도 이것때문에 고민 많이 했는데, 제한 조건때문같습니다.

먼저 재할당을 한 경우를보면 stack에는 최대 100만에 가까운 문자들이 쌓일 수 있는데요. 즉 재할당을 하면서 100만에 가까운 연산을 하게됩니다. 하나씩 새 배열에 할당 할테니까요.

그러나 del을 사용한경우, 끝 부분을 제거하는 방식인데요. pop을 여러 번 하는 것과 비슷하다고 보시면 될 것 같습니다. 이 때 pop은 몇번 일어날까요? 문제에서 폭발 문자열은 최대 36의 길이를 갖는다고 했으므로 많아봐야 36번의 연산입니다.

즉 파이썬 내부적으로 시간복잡도의 차이가 있느냐가 아니라 문제 조건에 의한 시간차이였어요.

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