본문 바로가기

Python257

[백준 11724번] 연결 요소의 개수 n, m = map(int,input().split()) count = 0 graph = [[] for _ in range(n+1)] visited = [False]*(n+1) for _ in range(m): x, y = map(int,input().split()) graph[x].append(y) graph[y].append(x) def dfs(graph,v,visited): if visited[v]: return False visited[v] = True for i in graph[v]: if not visited[i]: dfs(graph,i,visited) return True for i in range(1,n+1): if dfs(graph,i,visited): count += 1 print(co.. 2023. 2. 15.
[백준 10026번] 적록색약 from collections import deque n = int(input()) # 영역(2차원 리스트) area = [] # 적록색약이 아닌 사람의 구역의 수 count_a = 0 # 적록색약인 사람의 구역의 수 count_b = 0 for _ in range(n): area.append(list(input())) # 적록색약 X 방문 여부 2차원 리스트 visited_a = [[False]*n for _ in range(n)] # 적록색약 O 방문 여부 2차원 리스트 visited_b = [[False]*n for _ in range(n)] # 적록색약 X BFS함수 def bfs_a(x,y): if visited_a[x][y]: return False visited_a[x][y] = True q.. 2023. 2. 14.
[백준 7576번] 토마토 from collections import deque # 가로(m), 세로(n) m, n = map(int,input().split()) # 토마토가 담긴 상자(2차원 리스트) area = [] # 토마토가 존재하는 위치를 담는 리스트 exist_list = [] # 토마도가 모두 익는 최소 일수(정답) result = 0 # BFS 함수 def bfs(list): global result queue = deque(list) # 익을 수 있는 토마토가 다 익었을 때, 마지막 구역에 저장된 값 depth = 0 while queue: v = queue.popleft() nx = [-1,1,0,0] ny = [0,0,-1,1] for i in range(4): temp_x = v[0] + nx[i] temp.. 2023. 2. 14.
[백준 1012번] 유기농 배추 # 테스트케이스 수 t = int(input()) count_list = [] def dfs(x,y): if x = n or y = m: return False if area[x][y] == 1 and not visited[x][y]: visited[x][y] = True nx = [-1,1,0,0] ny = [0,0,-1,1] for i in range(4): temp_x = x + nx[i] temp_y = y + ny[i] dfs(temp_x,temp_y) return True return False for _ in range(t): # 세로(n), 가로(m), 배추 개수(k) m, n, k = map(int,input().split()) area = [[0]*m.. 2023. 2. 13.
[백준 2667번] 단지번호붙이기 n = int(input()) # 2차원 배열 지도 arr = [] # 방문 여부 확인용 2차원 배열 visited =[[False]*n for _ in range(n)] # 단지 내 가구 수 count = 0 # 단지 내 가구 수 리스트 count_list = [] for i in range(n): arr.append(list(map(int,list(input())))) # dfs 함수 def dfs(x,y): global count # 집이 존재한지 / 방문한 적 있는지 여부 확인 if arr[x][y] == 1 and not visited[x][y]: # 방문 처리 visited[x][y] = True # 단지 내 가구 수 증가 count += 1 # 상-하-좌-우로 이동하기 위한 값 nx = [-.. 2023. 2. 13.
[백준 2178번] 미로 탐색 from collections import deque n,m = map(int,input().split()) # n x m 크기의 미로 maze = [] # 방문 여부 확인용 2차원 배열 visited = [[False]*m for _ in range(n)] # 미로 입력받고 저장 for _ in range(n): maze.append(list(map(int,input()))) # bfs 함수 def bfs(x,y): # 방문 처리 visited[x][y] = True # queue 자료구조 선언 queue = deque([(x,y)]) while queue: v = queue.popleft() vx = v[0] vy = v[1] nx = [-1,1,0,0] ny = [0,0,-1,1] # 상-하-좌-우.. 2023. 2. 12.