18258번 - 큐 2
import deque를 하지 않고 코드를 짰을 때 시간초과가 뜨는데
deque 를 쓰면 시간 초과가 안나네요 ㅠ
단순히 시간 초과 차이는 deque 유무인가요?
혹시 pop(0)과 deque.popleft() 사이에 시간 차이가 나나요?!
시간 차이가 있습니다.
처음에 [1, 2, 3] 이 있다고 합시다.
deque의 popleft()를 예로 들면,
1 2 3 -> 2 3 으로 맨 앞의 것이 사라집니다.
그러나, 일반적인 배열을 예로 들면,
1 2 3 -> 0 2 3 -> 2 0 3 -> 2 3 0 -> 2 3 으로 모든 원소를 다 일일히 옮기는 과정이 있어서 훨씬 오래 걸립니다.
오 일반 배열을 삭제할 때 쓰는 pop(0) 은 저렇게 원소가 한칸씩 뒤로 밀려가는 시간이 발생한다고 보면 되나요?!
그렇습니다.
댓글을 작성하려면 로그인해야 합니다.
ssw02238 2년 전
import deque를 하지 않고 코드를 짰을 때 시간초과가 뜨는데
deque 를 쓰면 시간 초과가 안나네요 ㅠ
단순히 시간 초과 차이는 deque 유무인가요?
혹시 pop(0)과 deque.popleft() 사이에 시간 차이가 나나요?!