풍선 터뜨리기(2346)https://www.acmicpc.net/problem/2346 문제코드deque를 활용한 풀이rotate를 사용해서 다음 순서까지 이동# 풍선 터뜨리기# 2346import sysfrom collections import dequeinput = sys.stdin.readlineN = int(input())queue = deque(enumerate(map(int, input().split())))result = []while queue: idx, now_turn = queue.popleft() result.append(idx+1) if now_turn > 0: queue.rotate(-(now_turn - 1)) else: queue..
덱2(28279)https://www.acmicpc.net/problem/28279 문제코드queue를 활용한 풀이queue.append, queue.appendleft, queue.pop, queue.popleft 에 대해서 잘 숙지하자# 덱 2# 28279from collections import dequeimport sysinput = sys.stdin.readlineN = int(input())queue = deque()for i in range(N): order = list(map(int, input().split())) if order[0] == 1: queue.appendleft(order[1]) elif order[0] == 2: queue.appe..
요세푸스 문제 0(11866)https://www.acmicpc.net/problem/11866 문제코드queue를 활용한 문제for문을 활용하여 K번째 되는 수마다 추출해서 result 리스트에 넣도록 함.# 요세푸스 문제# 11866from collections import dequeN, K = map(int, input().split())queue = deque()result = []for i in range(1, N+1): queue.append(i)while len(queue) > 0: for j in range(1, K): queue.append(queue.popleft()) # 1, 2, ..., K-1까지는 popleft()로 뽑아서 뒤로 넘기기 result.a..
큐2(18258)문제코드queue를 활용한 풀이deque 라이브러릴 활용popleft()를 활용해 가장 앞에 수를 빼고, pop()# 큐 2# 18258import sysfrom collections import dequeinput = sys.stdin.readlineN = int(input())queue = deque()for i in range(N): lst = list(input().split()) if lst[0] == 'push': queue.append(lst[1]) elif lst[0] == 'pop': if len(queue) == 0: print(-1) else: print(queue.poplef..
도키도키 간식드리미https://www.acmicpc.net/problem/12789 문제코드현재 간식 받을 순서인 turn 을 활용차례로 stack에 쌓고, stack의 마지막 부분이 현재 받을 순서라면 popstack에 남아있는 숫자가 있다면 Sad, 없으면 Nice 출력# 도키도키 간식드리미# 12789import sysinput = sys.stdin.readlineN = int(input())num = list(map(int, input().split()))stack = []turn = 1 # 지금 간식 받는 순서for i in num: stack.append(i) while stack and stack[-1] == turn: stack.pop() turn +=..