BFS 5

[BOJ] - 2468. 안전 영역

[URL] https://www.acmicpc.net/problem/2468 2468번: 안전 영역 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 안전한 영역이 최대로 몇 개가 만들어 지는 지를 조사하려고 한다. 이때, 문제를 간단하게 하기 위하여, 장마철에 내리는 비의 양에 따라 일정한 높이 이하의 모든 지점은 물에 잠긴다고 가정한다. 어떤 지역의 높이 정보는 행과 열의 크기가 각각 N인 2차원 배열 형태로 주어 www.acmicpc.net [풀이 과정] 1. 입력 2. 가능한 경우 (물의 높이: 1 ~ 지면의 최대 높이까지만!) 3. 맵 복사 4. 물 퍼트리기 ..

Algorithm/백준 2019.08.20

1249. [S/W 문제해결 응용] 4일차 - 보급로

[URL] https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV15QRX6APsCFAYD&categoryId=AV15QRX6APsCFAYD&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! www.swexpertacademy.com [풀이 과정] * BFS 유사문제: 단지번호붙이기, 최단경로 경로중 최소값을 넣어줘야하는 로직 !! 1. input & init 2. BFS() [소스 코드] 123456789101112131415161718192021222324252627282930313233343536373839404142..

Algorithm/SWEA 2019.07.11

[BOJ] - 16236. 아기 상어

[URL] https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가지고 있고, 이 크기는 자연수이다. 가장 처음에 아기 상어의 크기는 2이고, 아기 상어는 1초에 상하좌우로 인접한 한 칸씩 이동한다. 아기 상어는 자신의 크기보다 큰 물고기가 있는 칸은 지나갈 수 없고, 나머지 칸은 모두 지나갈 수 있다. 아기 상어는 자신의 크 www.acmicpc.net [풀이 과정] * BFS + 시뮬 1. 아기 상어가 먹을 수 있는 물고기 개수를 구한다. 먹을 수 있는 물고기 개수 = ..

Algorithm/백준 2019.07.10

[BOJ] - 2178. 미로 탐색

[URL] https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net [풀이 과정] * BFS queue 최단거리 1. input() 2. bfs(x, y) 출발 위치(x, y) (1) 큐에 push (2) visited[x][y] = true (3) dist[][] 큐가 빌때 까지 --> x, y에서 더이상 갈 곳이 없을 경우 종료 큐에서 현재 위치(x, y) pop 다음 위치 (nx, ny) 4방향 탐색(상하좌우) --> [조건 1] [조건 2] 둘 다 만족 하는 경우 가능하면 ??..

Algorithm/백준 2019.06.20

[BOJ] 14502. 연구소

[URL] https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크기가 N×M인 직사각형으로 나타낼 수 있으며, 직사각형은 1×1 크기의 정사각형으로 나누어져 있다. 연구소는 빈 칸, 벽으로 이루어져 있으며, 벽은 칸 하나를 가득 차지한다. 일부 칸은 바이러스가 존재하며, 이 바이러스는 상하좌우로 인접한 빈 칸으로 모두 퍼져나갈 수 있다. www.acmicpc.net [풀이 과정] * 재귀, DFS, BFS 1. 재귀 DFS로 3개의 벽 선정 2. 3개 벽 세워 두고 바이러스(map[][] =..

Algorithm/백준 2019.04.10