목록python (182)
rose_brown
1. 문제https://school.programmers.co.kr/learn/courses/30/lessons/72415 2. 코드python 1from collections import deque, defaultdictfrom itertools import permutationsimport copypath = [(-1,0), (1,0), (0,-1), (0,1)]def bfs(board, start, target): visited = [[False] * 4 for _ in range(4)] queue = deque() queue.append((*start, 0)) visited[start[0]][start[1]] = True while queue: x, y, m..

1. 문제https://www.acmicpc.net/problem/1647 2. 코드python 1import sysinput = sys.stdin.readlinedef find(parent, x): if parent[x] != x: parent[x] = find(parent, parent[x]) return parent[x]def union(parent, a, b): a = find(parent, a) b = find(parent, b) if a != b: parent[b] = an, m = map(int, input().split())graph = [list(map(int, input().split())) for _ in range(m)]parent..
1. 문제https://school.programmers.co.kr/learn/courses/30/lessons/17685 2. 코드python 1class TrieNode: def __init__(self): self.children = {} self.count = 0class Trie: def __init__(self): self.root = TrieNode() def insert(self, word: str): node = self.root for char in word: if char not in node.children: node.children[char] = TrieNo..

1. 문제https://www.acmicpc.net/problem/21610 2. 코드python 1import sysfrom collections import dequeinput = sys.stdin.readlinen, m = map(int, input().split())arr = [list(map(int, input().split())) for _ in range(n)]command = [list(map(int, input().split())) for _ in range(m)]path = [(0, -1), (-1, -1), (-1, 0), (-1, 1), (0, 1), (1, 1), (1, 0), (1, -1)]diag_dirs = [(-1, -1), (-1, 1), (1, -1), (1, 1)]# ..

1. 문제https://www.acmicpc.net/problem/17822 2. 코드python 1import sysfrom collections import dequeinput = sys.stdin.readlinen, m, t = map(int, input().split())board = [deque(map(int, input().split())) for _ in range(n)]commands = [tuple(map(int, input().split())) for _ in range(t)]dx = [0, 0, -1, 1]dy = [-1, 1, 0, 0]def bfs(x, y, val, visited): q = deque() q.append((x, y)) visited[x][y] = ..

1. 문제https://www.acmicpc.net/problem/1956 2. 코드python 1import sysinput = sys.stdin.readlinev, e = map(int, input().split())INF = int(1e9)graph = [[INF] * (v+1) for _ in range(v+1)]answer = INFfor _ in range(e): a, b, c = map(int, input().split()) graph[a][b] = cfor k in range(1, v+1): for a in range(1, v+1): for b in range(1, v+1): graph[a][b] = min(graph[a][b], graph[..

1. 문제https://www.acmicpc.net/problem/16236 2. 코드python 1import sysfrom collections import dequeinput = sys.stdin.readlinen = int(input())graph = []for _ in range(n): li = list(map(int, input().split())) graph.append(li)dx = [-1, 1, 0, 0]dy = [0, 0, -1, 1]for i in range(n): for j in range(n): if graph[i][j] == 9: shark_x, shark_y = i, j graph[i][j] = 0def bfs..

1. 문제https://www.acmicpc.net/problem/1202 2. 코드python 1import sysimport heapqinput = sys.stdin.readlinen, k = map(int, input().split())jewels = []bags = []for _ in range(n): m, v = map(int, input().split()) jewels.append((m,v))for _ in range(k): cnt = int(input()) bags.append(cnt)jewels.sort()bags.sort()heap = []i = 0answer = 0for bag in bags: while i 풀이보석(jewels)은 무게 기준 오름차순, 가방(..
1. 문제https://school.programmers.co.kr/learn/courses/30/lessons/81303 2. 코드python 1def solution(n, k, cmd): cur = k table = { i:[i - 1, i + 1] for i in range(n) } answer = ['O'] * n table[0][0] = None table[n - 1][1] = None stack = [] for c in cmd: if c == 'C': # 삭제 answer[cur] = 'X' prev, next_ = table[cur] stack.append([pre..

1. 문제https://www.acmicpc.net/problem/9465 2. 코드python 1import sysinput = sys.stdin.readlineT = int(input())for _ in range(T): n = int(input()) arr = [list(map(int, input().split())) for _ in range(2)] if n == 1: print(max(arr[0][0], arr[1][0])) continue dp = [[0] * n for _ in range(2)] dp[0][0] = arr[0][0] dp[1][0] = arr[1][0] dp[0][1] = dp[1][0] + arr[0][1] ..