deque 5

백준(Python) 10866번 덱 풀이

Python으로 구현한 10866번 덱 문제 풀이입니다. https://www.acmicpc.net/problem/10866 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net from collections import deque import sys input = sys.stdin.readline n = int(input()) q = deque([]) for _ in range(n) : order = list(input().split()) if order[0] == 'push_front' : # 정..

백준(Python) 20055번 컨베이어 벨트 위의 로봇 풀이

Python으로 구현한 20055번 컨베이어 벨트 위의 로봇 문제 풀이입니다. https://www.acmicpc.net/problem/20055 20055번: 컨베이어 벨트 위의 로봇 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부 www.acmicpc.net from collections import deque n, k = map(int, input().split()) belt = deque(list(map(int, input().split()))) robot = deque([0] * n) result = 0 while True : # 1단계 수행 be..

백준(Python) 14891번 톱니바퀴 풀이

Python으로 구현한 14891번 톱니바퀴 문제 풀이입니다. https://www.acmicpc.net/problem/14891 14891번: 톱니바퀴 첫째 줄에 1번 톱니바퀴의 상태, 둘째 줄에 2번 톱니바퀴의 상태, 셋째 줄에 3번 톱니바퀴의 상태, 넷째 줄에 4번 톱니바퀴의 상태가 주어진다. 상태는 8개의 정수로 이루어져 있고, 12시방향부터 www.acmicpc.net from collections import deque def left(num, direction) : if num < 0 : return if data[num][2] != data[num+1][6] : left(num-1, -direction) data[num].rotate(direction) def right(num, direc..

이코테 (파이썬) 아기 상어 풀이

[문제] https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net [풀이] from collections import deque INF = 1e9 # 무한을 의미하는 값으로 10억을 설정 # 맵의 크기 N을 입력받기 n = int(input()) # 전체 모든 칸에 대한 정보 입력 array = [] for i in range(n) : array.append(list(map(int, input().split()))) # 아기 상어의 현재 크기 변..

[파이썬] collections 모듈(deque, Counter)

collections 모듈은 파이썬의 내장 모듈인데, 다양한 자료구조인 list, tuple, dictionary 등을 확장하여 제작된 모듈이다. 기본적으로 collections 모듈은 deque, Counter, namedtuple, defaultdict, OrderedDict 등을 제공한다. deque는 연속적으로 나열된 데이터의 시작 부분이나 끝 부분에 데이터를 삽입하거나 삭제할 수 있다. 또한, deque는 stack이나 queue 자료구조의 대용으로 사용될 수 있다. 아래의 표는 deque를 통해 원소를 삽입하거나 삭제하는 메서드이다. 메서드 설명 시간 복잡도 appendleft(a) 원소 a를 첫 번째 인덱스에 삽입 O(1) append(a) 원소 a를 마지막 인덱스에 삽입 O(1) pople..