큐
[백준 파이썬] #1021. 회전하는 큐
풀기 전 생각해보기😮 회전하는 큐의 특성에 맞게 함수를 작성해서 풀이 풀이🛫 # 1. 첫번째 원소 뽑아내기 # 2. 왼쪽으로 한 칸 이동 # 3. 오른쪽으로 한 칸 이동 from collections import deque def pop_idx0(): lst.popleft() queue.popleft() return def move_left(): global exe queue.append(queue.popleft()) exe += 1 return def move_right(): global exe queue.appendleft(queue.pop()) exe += 1 return N, M = map(int, input().split()) lst = deque(map(int, input().split()))..
[백준 파이썬] # 1966 프린터 큐
Silver III # 1966 프린터 큐 링크 : https://www.acmicpc.net/problem/1966 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net 풀이 from collections import deque # 테스트 케이스 T개 T = int(input()) for i in range(T): N, M = map(int, input().split()) q = deque(list(map(int, input().split()))) idx = deque(list(range(N))) cnt = 0 # ..
[백준 파이썬] # 18258 큐 2
Silver IV # 18258 큐 2 링크 : https://www.acmicpc.net/problem/18258 18258번: 큐 2 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 2,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 풀이 import sys from collections import deque q = deque() N = int(sys.stdin.readline()) for i in range(N): order = sys.stdin.readline().split() if order[0] == 'push': q.append(order[1]..
[백준 파이썬] # 10845 큐
Silver IV # 10845 큐 링크 : https://www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 풀이 import sys from collections import deque N = int(sys.stdin.readline()) queue = deque() for i in range(N): a = sys.stdin.readline().split() if a[0] == "push": queue.append(a[1]) elif a[0]..
[백준 파이썬] # 2164 카드 2
Silver IV # 2164 카드 2 링크 : https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 풀이 from collections import deque N = int(input()) graph = [i for i in range(1, N+1)] queue = deque(graph) while len(queue) > 1: queue.popleft() sec = queue.popleft() queue.append(sec) print(queue[..
[이코테 자료구조] 3. 스택/큐 자료구조, 재귀함수, DFS & BFS
DFS / BFS by 나동빈님 링크 https://www.youtube.com/watch?v=7C9RgOcvkvo&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=3 탐색 : 많은 양의 데이터 중 원하는 데이터를 찾는 과정 DFS, BFS는 탐색 알고리즘에 해당 코딩 테스트에서 자주 등장하는 유형 스택 자료구조 선입후출 : 먼저 들어온 데이터가 나중에 나가는 형식 입구와 출구가 동일한 형태 ex) 박스 쌓기, 플링글스 통 구조 삽입과 삭제로 진행, 시간복잡도 : O(1) stack = [] stack.append(n) stack.pop(n) 최상단 원소부터 출력하려면 stack을 역순으로 출력 큐 자료구조 선입선출 : 먼저 들어온 데이터가 먼저 나가는 형식 입구와 출구..