안녕하세요! 10866을 잘 못 풀고 있는 사람입니다

도움 주시면 너무 감사드립니다! 

먼저 front 영역을 건드리게 되면 파이썬의 리스트 특성상, 가장 앞에 있는 값들이 삭제되기 때문에 O(n)의 시간복잡도를 가진다는 것을 알게 되었고,

다른 패키지, 라이브러리를 사용하지 않고 O(1)을 구현하고 싶습니다. 

그래서 저는 Stack이라는 리스트를 추가 도입해서 해결하려고 햇습니다.

push_front를 하게 될 경우 stack이라는 리스트에 .append로 차곡차곡 쌓입니다.

그리고 pop_front를 하게 될 경우, stack이 비어있지 않다면 .pop으로 하나하나 나올 수 있도록 했습니다.


그리고 stack에 값이 없을 때는, 기존의 answer_list라는 곳에서 값이 하나씩 앞에서부터 나오게 했습니다

이 경우에는 pop을 하지 않고, 인덱싱을 올려주는 방법으로 O(1)을 구현하려고 했습니다.

예를 들어 초기에 A= [1,2,3,4,5] 라고 했을 때, cnt라는 값은 0이 됩니다.

이 때, pop_front를 하게 해주면 A[cnt]라는 값을 print 해주고, cnt 값을 하나 올려줘서, 지금 A라는 리스트의 가장 앞에 있는 인덱스는 [1]이라는 것을 알려주는 방식으로 접근했습니다.

아래와 같이 코드를 짜니, 예제는 큰 문제 없이 돌아가는데..

막상 제출하면 Index error가 발생하고 있습니다. 

인덱싱으로 접근하는 부분이 문제가 있을꺼라 생각해서 계속 접근해봤는데.. 쉽지 않습니다 ㅠㅠ... 

바쁘시겠지만, 코린이를 위해 도와주시면 너무 감사드리겠습니다.

그럼 좋은 하루 되세요! 

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