[파이썬] 16566 카드 게임 from bisect import bisect_left n, m, k = map(int, input().split()) li = sorted(list(map(int, input().split()))) check = [0] * m card = list(map(int, input().split())) for c in card: cur = bisect_left(li, c) while check[cur] or li[cur] Algorithm/boj 2022.08.10
[파이썬] 1007 벡터 매칭 from itertools import combinations import sys input = sys.stdin.readline def colsum(mat): res = [0, 0] for m in mat: res[0] += m[0] res[1] += m[1] return res t = int(input()) for _ in range(t): n = int(input()) li = [list(map(int, input().split())) for _ in range(n)] ans, s = 1e9, colsum(li) com = combinations(li, n // 2) for c in com: cur = colsum(list(c)) ans = min(ans, ((2 * cur[0] - s[0]) **.. Algorithm/boj 2022.08.09
[파이썬] 4889 안정적인 문자열 i = 0 while True: i += 1 try: cur = input() if '-' in cur: break stack, count = 0, 0 for c in cur: if c == '{': stack += 1 else: if stack >= 1: stack -= 1 else: count += 1 stack += 1 print(f'{i}. {count + stack // 2}') except: break stack Algorithm/boj 2022.08.08
[파이썬] 24484 알고리즘 수업 - 깊이 우선 탐색 6 import sys sys.setrecursionlimit(10 ** 8) input = sys.stdin.readline n, m, r = map(int, input().split()) graph = [[] for _ in range(n + 1)] visited = [[-1, 0] for _ in range(n + 1)] count = 1 for _ in range(m): x, y = map(int, input().split()) graph[x].append(y) graph[y].append(x) def dfs(node): global count graph[node].sort(reverse=True) for g in graph[node]: if visited[g][0] == -1: count += 1 .. Algorithm/boj 2022.08.05
[파이썬] 24483 알고리즘 수업 - 깊이 우선 탐색 5 import sys sys.setrecursionlimit(10 ** 8) input = sys.stdin.readline n, m, r = map(int, input().split()) graph = [[] for _ in range(n + 1)] visited = [[-1, 0] for _ in range(n + 1)] count = 1 for _ in range(m): x, y = map(int, input().split()) graph[x].append(y) graph[y].append(x) def dfs(node): global count graph[node].sort() for g in graph[node]: if visited[g][0] == -1: count += 1 visited[g] =.. 카테고리 없음 2022.08.05
[파이썬] 24482 알고리즘 수업 - 깊이 우선 탐색 4 import sys sys.setrecursionlimit(10 ** 8) input = sys.stdin.readline n, m, r = map(int, input().split()) graph = [[] for _ in range(n + 1)] visited = [-1] * (n + 1) for _ in range(m): x, y = map(int, input().split()) graph[x].append(y) graph[y].append(x) def dfs(node): graph[node].sort(reverse=True) for g in graph[node]: if visited[g] == -1: visited[g] = visited[node] + 1 dfs(g) visited[r] = 0 d.. Algorithm/boj 2022.08.05
[파이썬] 24481 알고리즘 수업 - 깊이 우선 탐색 3 import sys sys.setrecursionlimit(10 ** 8) input = sys.stdin.readline n, m, r = map(int, input().split()) graph = [[] for _ in range(n + 1)] visited = [-1] * (n + 1) for _ in range(m): x, y = map(int, input().split()) graph[x].append(y) graph[y].append(x) def dfs(node): graph[node].sort() for g in graph[node]: if visited[g] == -1: visited[g] = visited[node] + 1 dfs(g) visited[r] = 0 dfs(r) for v .. Algorithm/boj 2022.08.05
[파이썬] 24447 알고리즘 수업 - 너비 우선 탐색 4 from collections import deque import sys input = sys.stdin.readline n, m, r = map(int, input().split()) graph = [[] for _ in range(n + 1)] visited = [[-1, 0] for _ in range(n + 1)] count = 1 for _ in range(m): a, b = map(int, input().split()) graph[a].append(b) graph[b].append(a) def bfs(v): global count q = deque([r]) visited[r][0] = 0 while q: v = q.popleft() graph[v].sort(reverse=True) for g .. Algorithm/boj 2022.08.04
[파이썬] 24446 알고리즘 수업 - 너비 우선 탐색 3 from collections import deque import sys input = sys.stdin.readline n, m, r = map(int, input().split()) graph = [[] for _ in range(n + 1)] visited = [-1] * (n + 1) for _ in range(m): a, b = map(int, input().split()) graph[a].append(b) graph[b].append(a) def bfs(v): q = deque([r]) visited[r] = 0 while q: v = q.popleft() for g in graph[v]: if visited[g] == -1: visited[g] = visited[v] + 1 q.append(.. Algorithm/boj 2022.08.04
[파이썬] 18869 멀티버스 II import sys input = sys.stdin.readline m, n = map(int, input().split()) d = {} for _ in range(m): li = list(map(int, input().split())) k = sorted(list(set(li))) i = {k[i]: i for i in range(len(k))} c = str([i[l] for l in li]) d[c] = d.get(c, 0) + 1 print(sum(map(lambda x: x * (x - 1) // 2, d.values()))) 좌표압축 Algorithm/boj 2022.08.02