2

백준 24511 [python]

1차 시도 - 실패from collections import dequeimport sysN = int(sys.stdin.readline().rstrip())# 스택 혹은 큐이므로 dequeue를 사용한다. dequeue = deque([deque() for i in range(N)])# 스택인지 큐인지 typeList = list(map(int, sys.stdin.readline().split()))# 각 자료구조에 어떤 원소가 들어있는지 dataList = list(map(int, sys.stdin.readline().split()))# 넣을 때는 큐나 스택이나 뒤로 들어가기 때문에 조건 검사 필요 없음 for i in range(N) : dequeue[i].append(dataList[i])# ..

알고리즘 2024.11.20

배열, 연결리스트, 스택,

배열동일한 타입의 변수를 모아 묶어 놓은 것메모리 공간에 연속적으로 할당된다. - 가상 메모리 공간에서 연속적, 물리 메모리에서는 항상 연속적이지 않음인덱스를 이용해서 접근 가능 - 인덱스는 0부터 시작 배열이 만들어진 후 배열의 크기 변경 불가 - 동적 배열의 경우 새로운 배열을 생성해서 기존 배열을 복사함장점빠른 접근 시간 - 인덱스를 이용하여 O(1) 시간에 직접 접근 가능 메모리 상에서 연속적으로 저장되어 있어 캐시 효율성이 높다.- 반복적인 접근 패턴, 루프 내에서 여러 번 참조로 인해 시간적 지역성이 높음- 연속적인 메모리 할당, 순차적인 적근 패턴으로 인해 공간적 지역성이 높음 각 요소가 동일한 크기를 가져 메모리를 효율적으로 사용 구현이 간단하다. 단점고정된 크기 - 배열은 한 번..