백준(188)
-
백준 28279 파이썬 또 시간 초과
백준 28279 - 덱 2 문제 https://www.acmicpc.net/problem/28279 28279번: 덱 2 첫째 줄에 명령의 수 N이 주어진다. (1 ≤ N ≤ 1,000,000) 둘째 줄부터 N개 줄에 명령이 하나씩 주어진다. 출력을 요구하는 명령은 하나 이상 주어진다. www.acmicpc.net 답안 코드 : from collections import deque import sys # n = int(sys.stdin.readline()) input = sys.stdin.readline n = int(input()) deq = deque() for _ in range(n): command = input().split() if command[0] == "1": deq.appendleft(..
2024.05.07 -
백준 11866 파이썬 print("<" + ", ".join(map(str, result)) + ">")
백준 11866 - 요세푸스 문제 0 문제 https://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 답안 코드 : from collections import deque n, k = map(int, input().split()) # 초기화된 원형 큐 생성 people = deque(range(1, n + 1)) result = [] while people: # k-1번째까지의 사람을 큐의 맨 뒤로 옮김 for _ in range(k - 1): people.append(people.popleft()) # k번째 사람을 제거하고 결과에 추가 ..
2024.05.06 -
백준 2164 파이썬
백준 2164 - 카드 2 문제 https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 답안 코드 : from collections import deque n = int(input()) cards = list(range(1, n+1)) cards = deque(cards) while len(cards) > 1: # 제일 위에 있는 카드를 버림 discarded_card = cards.popleft() # 제일 위에 있는 카드를 제일 아래로 옮김 car..
2024.05.05 -
백준 18258 파이썬 sys.stdout.write('\n'.join(result))
백준 18258 - 큐 2 문제 https://www.acmicpc.net/problem/18258 18258번: 큐 2 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 2,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 답안 코드 : from collections import deque import sys N = int(sys.stdin.readline()) queue = deque() result = [] for _ in range(N): command = sys.stdin.readline().split() if command[0] == "push": q..
2024.05.04 -
백준 12789 파이썬
백준 12789 - 도키도키 간식드리미 문제 https://www.acmicpc.net/problem/12789 12789번: 도키도키 간식드리미 인하대학교 학생회에서는 중간, 기말고사 때마다 시험 공부에 지친 학우들을 위해 간식을 나눠주는 간식 드리미 행사를 실시한다. 승환이는 시험 기간이 될 때마다 간식을 받을 생각에 두근두 www.acmicpc.net 답안 코드 : N = int(input()) line = list(map(int, input().split())) i = 1 # 대기열에서 기대하는 번호표 stack = [] # 대기열에서 현재까지 올라간 번호표들을 저장하는 스택 for num in line: if num == i: # 현재 기대하는 번호표가 나오면 승환이는 그대로 앞으로 나아감 i ..
2024.05.03 -
백준 4949 파이썬
백준 4949 - 균형잡힌 세상 문제 https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 각 문자열은 마지막 글자를 제외하고 영문 알파벳, 공백, 소괄호("( )"), 대괄호("[ ]")로 이루어져 있으며, 온점(".")으로 끝나고, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마지막에 www.acmicpc.net 답안 코드 : while True: s = input() # 입력 종료 조건 if s == '.': break stack = [] is_balanced = True for char in s: if char in '([': stack.append(char) elif char in ')]': # 스택이 비어있는 경우나 괄호의 짝이 맞지 않는 ..
2024.05.02