본문 바로가기

백준 알고리즘108

파이썬) 백준 알고리즘 | 11866번 : 요세푸스 문제 0 https://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 백준 11866 '요세푸스 문제 0' 문제입니다. deque 모듈을 이용하였고 deque.rotate 함수를 이용하여구현하였습니다. import sys from collections import deque N, K = map(int, input().split()) numbers = [] for i in range(N): numbers.append(i+1) numbers = deque(numbers) numbers.rotate(-K+1) result = [] while len(num.. 2022. 2. 6.
파이썬) 백준 알고리즘 | 9012번 : 괄호 https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 백준 9012 '괄호' 문제입니다. deque 모듈을 사용하였고, (가 들어오면 1을 append해주고 )가 들어오면 pop을 해주었습니다. 그리고 마지막에 deq 합을 구해서 그 합이 0이면 YES를 출력해주었습니다. import sys from collections import deque N = int(input()) for i in range(N): error .. 2022. 2. 6.
파이썬) 백준 알고리즘 | 10773번 : 제로 https://www.acmicpc.net/problem/10773 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 백준 10773 '제로' 문제입니다. deque 모듈을 이용하여 구현하였습니다. import sys from collections import deque N = int(input()) deq = deque() for i in range(N): a = int(input()) if a == 0 : deq.pop() else: deq.append(a) deq = sum.. 2022. 2. 6.
파이썬) 백준 알고지름 | 11286번 : 절댓값 힙 https://www.acmicpc.net/problem/11286 11286번: 절댓값 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 백준 11286 '절댓값 힙' 문제입니다. heapq 모듈을 이용하여 구하면 되는데 abs(input, input) 이런식으로 튜플을 만들어서 heappush하면 됩니다. import sys import heapq input = sys.stdin.readline heap = [] N = int(input()) for i in range(N): a = int(input()) i.. 2022. 2. 6.