deque 3

백준 11003번 최솟값 찾기 파이썬

https://www.acmicpc.net/problem/11003 11003번: 최솟값 찾기 N개의 수 A1, A2, ..., AN과 L이 주어진다. Di = Ai-L+1 ~ Ai 중의 최솟값이라고 할 때, D에 저장된 수를 출력하는 프로그램을 작성하시오. 이때, i ≤ 0 인 Ai는 무시하고 D를 구해야 한다. www.acmicpc.net 내 코드 import sys from collections import deque input = sys.stdin.readline N, L = map(int, input().split()) A = list(map(int, input().split())) dq = deque() for i in range(N): while dq and (dq[-1][1] > A[i])..

BOJ/Python 2023.02.17

백준 2164번 카드2 파이썬

https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 내 답안 from collections import deque import sys N = int(sys.stdin.readline().rstrip()) q = deque([i for i in range(1, N + 1)]) while (len(q) != 1): q.popleft() if len(q) == 1: break else: q.append(q.popleft()) print(q[0]) 파이썬..

BOJ/Python 2022.03.25

백준 2178번 미로 탐색 파이썬 BFS

https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 내 답안 from collections import deque def bfs(x, y): queue = deque() queue.append((x, y)) while queue: x, y = queue.popleft() for i in range(4): # 상하좌우 탐색 nx = x + dx[i] ny = y + dy[i] # 범위를 벗어나면 무시 if nx = n or ny >= m: co..

BOJ/Python 2022.02.15