[백준] 1874번. 스택 수열 -Python 백준 1874번 - 스택 수열 문제 나의 막힌 점 : 문제 이해를 처음에 못했음. 이후에 수열 성립이 안될 때 조건을 찾기 어려웠음 -> 스택의 기본 원리를 잘 생각해보자n = int(input())arr = [int(input()) for _ in range(n)]stack = []current = 1result = []for num in arr: if current 코딩 테스트 2025.06.25
[백준] 18258번: 큐 2 - Python(파이썬) import sysfrom collections import dequeinput = sys.stdin.readlinen = int(input())q = deque()for _ in range(n): a = input().strip().split() if a[0] == "push": q.append(a[1]) elif a[0] == "pop": if q: print(q.popleft()) else: print(-1) elif a[0] == "size": print(len(q)) elif a[0] == "empty": if q: print('0') .. 코딩 테스트 2025.06.25
큐(Queue) 큐선입선출(FIFO) 방식으로 데이터를 처리하는 선형 자료구조이다. 가장 먼저 들어온 데이터가 가장 먼저 나가는 특징을 가지고 있다. 구조 장점순차적 처리에 적합하다.구현이 간단함.deque으로 구현 시 메모리 관리 효율이 좋음 단점중간 데이터 접근이 불가능함.배열 기반 큐는 삽입,삭제 시 앞 공간이 낭비됨.복잡한 자료 구조에는 부적합함. 큐의 주요 연산 연산기능시간복잡도enqueue삽입O(1)dequeue삭제O(1)front맨 앞 요소 조회O(1)size() / empty()사이즈/ empty 확인O(1) 리스트로 구현(python)class Queue: def __init__(self): self.q = [] def isEmpty(self): if len(self... 기초 CS/자료구조 & 알고리즘 2025.06.25
스택(Stack) 스택 한쪽 끝에서만 삽입과 삭제가 이루어지는 선형 자료구조(linear data structure)이다. 가장 나중에 삽입된 데이터가 먼저 삭제되는 LIFO를 따른다. 스택의 장점과 단점장점 : 구현이 쉬움, 삽입과 삭제가 빠르다(O(1)), 재귀적 상황을 자연스럽게 표현 가능단점 : 중간요소 접근 불가, LIFO 구조로 인해 일부 알고리즘에 부적합하다, 크기 제 스택을 왜 사용할까? 후입선출 구조가 필요한 문제 해결함수 호출 관리 (Call Stack)괄호 검사, 수식 계산기DFS(깊이 우선 탐색)와 백트래킹Undo/Redo 기능 (웹브라우저, 텍스트 에디터 등) 스택 주요 연산함수 이름기능시간복잡도push()삽입O(1)pop()삭제 및 반환O(1)is_empty()비어있는지 확인O(1)size(.. 기초 CS/자료구조 & 알고리즘 2025.06.25