백준

·Algorithm/백준
DFS와 BFS(126)https://www.acmicpc.net/problem/1260 문제코드DFS, BFS의 기본 문제인접 노드 리스트를 생성하고 정렬방문 여부를 체크하는 초기 리스트 만들기DFS, BFS 각각의 결과를 저장하는 리스트틀 생성 -> 나중에 join을 활용하여 출력에 사용DFS, BFS 자체는 기본 공식# DFS와 BFS# 1260from collections import dequeN, M, V = map(int, input().split())graph = [[] * (N+1) for _ in range(N+1)]# 인접노드 리스트for i in range(M): a, b = map(int, input().split()) graph[a].append(b) graph[b..
·Algorithm/백준
풍선 터뜨리기(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..
·Algorithm/백준
덱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..
·Algorithm/백준
요세푸스 문제 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..
·Algorithm/백준
큐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..
potato_pizza
'백준' 태그의 글 목록