본문 바로가기

Algorithm/Concepts18

큐(Queue), 스택(Stack) 목차 큐(Queue) 큐(queue)는 먼저 집어 넣은 데이터가 먼저 나오는 FIFO(First In First Out)구조로 저장하는 형식입니다 출처 : 위키피디아 줄 서기 개념을 생각하면 됩니다. (먼저 줄 선 사람이 먼저 나가게 됩니다.) 파이썬에서는 deque를 이용하면 쉽게 구현이 가능합니다. from collections import deque q = deque() for i in range(5): q.append(i) while q: print(q.popleft()) """ 0 1 2 3 4 """ 스택(Stack) 스택(stack)은 한쪽 끝에서만 자료를 넣거나 뺄 수 있는 LIFO(Last In First Out)으로 되어 있습니다. 출처 : 위키피디아 책 쌓기 개념을 생각하면 됩니다. .. 2023. 10. 10.
완전 탐색(Brute-force) 목차 완전 탐색(Brute-force) 완전 탐색 또는 브루트포스(Brute-force)는 문제의 모든 가능한 경우를 직접 탐색하여 해결하는 방법을 의미합니다. 문제를 해결할 때, 먼저 문제에서 주어진 범위를 토대로 시간복잡도를 계산합니다. 그 후, 해당 시간복잡도가 문제에서 제시한 제한시간을 초과하지 않는지 확인합니다. 파이썬에서는 대략적으로 1초에 2000만 번의 연산을 처리할 수 있다고 가정하며, 이를 기준으로 완전 탐색을 사용할지의 여부를 결정합니다. 완전 탐색으로 풀 수 있는 문제임에도 불구하고 문제를 보고 어떤 알고리즘들을 적용할 수 있을까 생각하다가 막히는 경우가 있을 수 있습니다. 그래서 저 같은 경우는 문제를 읽고 먼저 완전 탐색을 생각해 보고 시간을 줄일 수 있는 부분들을 찾아가는 방식.. 2023. 10. 10.