목록분류 전체보기 (145)
공부 기록장
https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net 코드 import sys sys.setrecursionlimit(10**6) n = int(input()) draw = [[] for _ in range(n)] draw_rg = [[] for _ in range(n)] for i in range(n): row = input() for r in row: draw[i].append(r) draw_rg[i].append(r) # draw_rg ..
https://www.acmicpc.net/problem/7562 7562번: 나이트의 이동 체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 www.acmicpc.net 코드 from collections import deque t = int(input()) dx = [-2, -1, 1, 2, -2, -1, 1, 2] dy = [1, 2, 2, 1, -1, -2, -2, -1] def bfs(mat): q = deque() q.append((x, y)) mat[x][y] = 1 while q: a, b = q.popleft() if a == xx and b == y..
https://www.acmicpc.net/problem/1068 1068번: 트리 첫째 줄에 트리의 노드의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 0번 노드부터 N-1번 노드까지, 각 노드의 부모가 주어진다. 만약 부모가 없다면 (루트) -1이 주어진다 www.acmicpc.net 코드 n = int(input()) node = list(map(int, input().split())) del_node = int(input()) def dfs(v): node[v] = -2 for i in range(n): if node[i] == v: dfs(i) dfs(del_node) cnt = 0 for i in range(n): if node[i] != -2 and i not i..
https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 코드 from collections import deque m, n = map(int, input().split()) box = [] for _ in range(n): box.append(list(map(int, input().split()))) dx = [-1, 1, 0, 0] dy = [0, 0, -1, 1] time = 0 queue = deque([]) def bfs(que..