리스트(동적 배열) 연산 예시 시간 복잡도 접근 list[0], list[1] = 5 O(1) 추가 list.append(2) O(1) - 분할 상환 맨 뒤 삭제 list.pop() O(1) - 분할 상환 길이 확인 len(list) O(1) 삽입 list.insert(3, "가") O(n) 삭제 del list[0] O(n) 탐색 "111" in list O(n) * 분할 상환 : 연산을 n 번 했을 때 총시간을 n으로 나눠주는 할부의 개념 deque(더블리 링크드 리스트) 연산 예시 시간 복잡도 맨 앞 삭제 deque1.popleft() O(1) 맨 앞 삽입 deque1.appendleft("가") O(1) 맨 뒤 삭제 deque1.pop() O(1) 맨 뒤 삽입 dequq1.append("가") O..