문제 링크14888번: 연산자 끼워넣기 (acmicpc.net) 문제 풀이n = int(input())num_list = list(map(int, input().split()))add_cnt, sub_cnt, mul_cnt, div_cnt = map(int, input().split())max_ans, min_ans = -int(1e9), int(1e9)def dfs(idx, add_cnt, sub_cnt, mul_cnt, div_cnt, result): global max_ans, min_ans if idx == n: max_ans = max(max_ans, result) min_ans = min(min_ans, result) return if ad..
문제 링크 4779번: 칸토어 집합 칸토어 집합은 0과 1사이의 실수로 이루어진 집합으로, 구간 [0, 1]에서 시작해서 각 구간을 3등분하여 가운데 구간을 반복적으로 제외하는 방식으로 만든다. 전체 집합이 유한이라고 가정하고, www.acmicpc.net 문제 풀이 from sys import stdin input = stdin.readline def cantor(n): if n == 1: return "-" cantor_unit = cantor(n // 3) cantor_res = cantor_unit + " " * (n // 3) + cantor_unit return cantor_res while True: try: N = int(input()) print(cantor(3**N)) except: b..
문제 링크 24511번: queuestack 첫째 줄에 queuestack을 구성하는 자료구조의 개수 $N$이 주어진다. ($1 \leq N \leq 100\,000$) 둘째 줄에 길이 $N$의 수열 $A$가 주어진다. $i$번 자료구조가 큐라면 $A_i = 0$, 스택이라면 $A_i = 1$이다. 셋째 줄 www.acmicpc.net 문제 풀이 import sys input = sys.stdin.readline n = int(input()) a = list(map(int, input().split())) b = list(map(int, input().split())) m = int(input()) c = list(map(int, input().split())) answer = [] for i in ra..
문제 링크 2346번: 풍선 터뜨리기 1번부터 N번까지 N개의 풍선이 원형으로 놓여 있고. i번 풍선의 오른쪽에는 i+1번 풍선이 있고, 왼쪽에는 i-1번 풍선이 있다. 단, 1번 풍선의 왼쪽에 N번 풍선이 있고, N번 풍선의 오른쪽에 1번 풍선 www.acmicpc.net 문제 풀이 import sys from collections import deque input = sys.stdin.readline n = int(input()) paper = deque(list(enumerate(map(int, input().split())))) poped = [] while paper: index, num = paper.popleft() poped.append(index + 1) if num > 0: paper...
문제 링크 28279번: 덱 2 첫째 줄에 명령의 수 N이 주어진다. (1 ≤ N ≤ 1,000,000) 둘째 줄부터 N개 줄에 명령이 하나씩 주어진다. 출력을 요구하는 명령은 하나 이상 주어진다. www.acmicpc.net 문제 풀이 import sys from collections import deque input = sys.stdin.readline deque = deque([]) n = int(input()) for _ in range(n): order = input().split() match (order[0], len(deque) == 0): case ("1", _): deque.appendleft(int(order[1])) case ("2", _): deque.append(int(order..
문제 링크 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 문제 풀이 import sys from collections import deque input = sys.stdin.readline n, k = map(int, input().split()) people = deque([i for i in range(1, n + 1)]) josephus = [] for i in range(n): for j in range(k): people.append(people.popleft()) josephus.append(people.pop()) print(f'') *key point: k번째 요소가 맨 앞으로 ..
문제 링크 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 문제 풀이 import sys from collections import deque input = sys.stdin.readline n = int(input()) card = deque([i for i in range(1, n + 1)]) while len(card) != 1: card.popleft() card.append(card.popleft()) print(card[0]) *key point: deque를 이용하면 쉽게 풀 수 있다. deque..
문제 링크 18258번: 큐 2 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 2,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 문제 풀이 import sys from collections import deque input = sys.stdin.readline queue = deque([]) n = int(input()) for _ in range(n): order = input().split() match (order[0], len(queue) == 0): case ("push", _): queue.append(int(order[1])) case ("p..
문제 링크 12789번: 도키도키 간식드리미 인하대학교 학생회에서는 중간, 기말고사 때마다 시험 공부에 지친 학우들을 위해 간식을 나눠주는 간식 드리미 행사를 실시한다. 승환이는 시험 기간이 될 때마다 간식을 받을 생각에 두근두 www.acmicpc.net 문제 풀이 n = int(input()) waitingQueue = list(map(int, input().split())) waitingStack = [] turn = 1 while waitingQueue: if waitingQueue[0] == turn: waitingQueue.pop(0) turn += 1 else: waitingStack.append(waitingQueue.pop(0)) while waitingStack: if waitingSt..
- Total
- Today
- Yesterday
- Wil
- MySQL
- 17103
- 벡준
- 24060
- 25192
- 백준
- 2587
- Programmers
- 25501
- til
- 항해+
- SQL
- 4134
- 26069
- 1269
- 2903
- 13909
- 13241
- 2053
- 항해 플러스
- 24723
- 24313
- 2738
- 10807
- 코육대
- 5597
- 20920
- programmer
- Python
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |