코딩 도구/백준 (단계별)(133)
-
백준 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 -
백준 9012 파이썬
백준 9012 - 괄호 문제 https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 답안 코드 : T = int(input()) for _ in range(T): parentheses_string = input() stack = [] # 스택을 사용하여 괄호의 짝을 확인하기 위한 빈 리스트 생성 # 괄호 문자열을 한 글자씩 확인 for char in parentheses_string: if char == "(": # 여는..
2024.05.01