Baby Yoshi Blinking
백준[2178] - 미로탐색
·
💻 코딩테스트/백준
문제 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 작성한 코드 from collections import deque import sys input = sys.stdin.readline N, M = map(int, input().split()) graph = [list(map(int, input().rstrip())) for _ in range(N)] dx = [0, 0, -1, 1] dy = [-1, 1, 0, 0] def bfs(x, y): q = deque() q.append((x, y)) while q: x, y = q.poplef..
백준[1012] - 유기농 배추
·
💻 코딩테스트/백준
문제 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 작성한 코드 import sys sys.setrecursionlimit(10**6) input = sys.stdin.readline T = int(input()) count = 0 result = list() dx = [0, 0, -1, 1] dy = [-1, 1, 0, 0] def dfs(x, y): global count if x = M or y = N: return False if graph[y][x] == 1: count +=..
백준[2667] - 단지번호붙이기
·
💻 코딩테스트/백준
문제 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 작성한 코드 import sys sys.setrecursionlimit(10**6) input = sys.stdin.readline N = int(input()) graph = [list(map(int, input().rstrip())) for _ in range(N)] dx = [0, 0, -1, 1] dy = [-1, 1, 0, 0] cnt = 0 result = list() def dfs(x, y): global cnt if x = N..
백준[1260] - DFS와 BFS
·
💻 코딩테스트/백준
문제 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 작성한 코드 from collections import deque import sys sys.setrecursionlimit(10**6) input = sys.stdin.readline def dfs(v): visited[v] = True print(v, end=" ") for i in graph[v]: if visited[i] == False: dfs(i) def bfs(v): q = deque([v]) visited..
백준[2606] - 바이러스
·
카테고리 없음
문제 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 작성한 코드 import sys sys.setrecursionlimit(10**6) input = sys.stdin.readline N = int(input()) M = int(input()) graph = [[] for _ in range(N+1)] visited = [0] * (N+1) order = 1 for _ in range(M): u,v = map(int, input().split()) graph[u].append(v) graph[v].append(u..
백준[24479] - 알고리즘 수업 (너비 우선 탐색 2)
·
💻 코딩테스트/백준
문제 24445번: 알고리즘 수업 - 너비 우선 탐색 2 첫째 줄에 정점의 수 N (5 ≤ N ≤ 100,000), 간선의 수 M (1 ≤ M ≤ 200,000), 시작 정점 R (1 ≤ R ≤ N)이 주어진다. 다음 M개 줄에 간선 정보 u v가 주어지며 정점 u와 정점 v의 가중치 1인 양 www.acmicpc.net 작성한 코드 import sys from collections import deque input = sys.stdin.readline N, M, R = map(int, input().split()) graph = [[] for _ in range(N+1)] visited = [0] * (N+1) order = 1 for _ in range(M): u, v = map(int, input(..
백준[24444] - 알고리즘 수업 (너비 우선 탐색 1)
·
💻 코딩테스트/백준
문제 24444번: 알고리즘 수업 - 너비 우선 탐색 1 첫째 줄에 정점의 수 N (5 ≤ N ≤ 100,000), 간선의 수 M (1 ≤ M ≤ 200,000), 시작 정점 R (1 ≤ R ≤ N)이 주어진다. 다음 M개 줄에 간선 정보 u v가 주어지며 정점 u와 정점 v의 가중치 1인 양방 www.acmicpc.net 작성한 코드 import sys from collections import deque input = sys.stdin.readline N, M, R = map(int, input().split()) graph = [[] for _ in range(N+1)] visited = [0] * (N+1) order = 1 for _ in range(M): u, v = map(int, input..
[이것이 코딩 테스트다] DFS / BFS
·
💻 코딩테스트/이것이 코딩 테스트다
1. 자료구조 기초 - 그래프 탐색 알고리즘 : 탐색 = 많은 양의 데이터 중 원하는 데이터 찾는 과정 : 대표 그래프 탐색 알고리즘 ) DFS, BFS - 스택 자료구조 (Stack) : 선입후출(LIFO)의 자료구조 : 입구와 출구가 동일 : 삽입 / 삭제 로 동작 : 리스트를 사용하여 구현 (삽입 : append / 삭제 : pop / 최상단 원소부터 출력: [ : : 1]) : 대표 예 ) 박스 쌓기 - 큐 자료구조 (Queue) : 선입선출(FIFO)의 자료구조 : 입그와 출구가 모두 뚫려있는 형태 : 삽입 / 삭제 로 동작 : 오른쪽 → 왼쪽 방향 : deque 라이브러리(큐)를 사용하여 구현 (from collections import deque / queue = deque() / 삽입: a..
// 코드 블럭 복사