Algorithm/Baekjoon_PS 31

4963_섬의개수 (BFS)

본 포스팅은 문제에 대한 접근에 문제가 없지만 코드를 구현함에 있어서 어려운 분들에게 도움이 되었으면 하고자하여 작성하게 되었습니다. 4963_섬의개수 - 이 문제는 BFS를 활용하여 입력받은 지도에서 섬의 위치를 받을 경우 BFS로 탐색하는 문제이다. - 입력된 지도에서 섬의 위치( input : 1 ) 를 받았을때 연결된 섬들에 대해 BFS탐색을 하며 방문 표시를 해주며 지도의 끝까지 탐색을 해주는 문제이다. 지도를 전체 탐색하여 BFS 탐색 횟수를 반환해주면 된다 - 문제 풀이는 BFS를 이용해 풀이하였다. - 자세한 내용은 코드의 주석을 참고하자.

2331_반복수열 (DFS)

본 포스팅은 문제에 대한 접근에 문제가 없지만 코드를 구현함에 있어서 어려운 분들에게 도움이 되었으면 하고자하여 작성하게 되었습니다. 2331_반복수열 - 이 문제는 DFS를 활용하여 수열의 첫번째 인덱스부터 DFS탐색을 하다 중복된 값을 처음 만나는 지점을 찾아주면 된다 - 수열이 선형의 그래프로 표현되고 이것을 DFS, 깊이 우선 탐색으로 들어가다 중복 방문을 했을때 그 전의 깊이를 반환하여 풀이가 가능하다. 결국 재귀함수가 특정 조건(중복된 값을 다시 만나는 지점)에서 종료하는 것과 같으 ㄴ것이다 - 문제 풀이는 DFS를 이용하여 풀이했다. - 자세한 내용은 코드의 주석을 참고하자.

14502_연구소 ( DFS, Brute Force )

본 포스팅은 문제에 대한 접근에 문제가 없지만 코드를 구현함에 있어서 어려운 분들에게 도움이 되었으면 하고자하여 작성하게 되었습니다. 14502_연구소 - 이 문제는 DFS, BFS를 활용하여 탐색 상태를 변경됬을때 바뀐 결과값을 확인해 정답을 구하는 문제이다. - 입력된 바이러스(2)의 위치와 세워져있는 벽(1) 그리고 빈 공간(0)에 대해 추가로 벽을 3개 설치한 뒤 바이러스를 인접한 네 방향으로 퍼트렸을때 빈공간을 가장 많이 확보할 수 있는 결과를 구하면 된다. - 문제 풀이는 DFS와 Brute Force를 이용하여 해결하였다. - 자세한 내용은 코드의 주석을 참고하자.

12851_숨바꼭질2 ( BFS )

본 포스팅은 문제에 대한 접근에 문제가 없지만 코드를 구현함에 있어서 어려운 분들에게 도움이 되었으면 하고자하여 작성하게 되었습니다. 12851_숨바꼭질2 - 이 문제는 직선상에 위치한 A(수빈)와 B(동생)의 위치에 대해 A가 이동하는 방법에 따라 가장 빠르게 B에 도착할 수 있을 때 몇 가지 방법이 존재하는지를 찾는 문제이다. - 숨바꼭질 문제에 추가 조건이 생긴 문제로 가장 빠르게 도달하는 경우가 몇가지인지에 대해 구하는 문제이다. - BFS의 원리를 생각하여 풀면 숨바꼭질 문제와 큰 차이가 없다는 것을 알 수 있다 - 문제 풀이는 BFS를 이용하여 해결하였다. - 자세한 내용은 코드의 주석을 참고하자.

1697_숨바꼭질 ( BFS )

본 포스팅은 문제에 대한 접근에 문제가 없지만 코드를 구현함에 있어서 어려운 분들에게 도움이 되었으면 하고자하여 작성하게 되었습니다. 1697_숨바꼭질 - 이 문제는 직선상에 위치한 A(수빈)와 B(동생)의 위치에 대해 A가 이동하는 방법에 따라 가장 빠르게 B에 도착할 수 있을 때 몇번 움직였는지에 대해 답을 구하는 문제이다 - 문제 풀이는 BFS를 이용하여 해결하였다. - 자세한 내용은 코드의 주석을 참고하자.

2468_안전영역 ( BFS )

본 포스팅은 문제에 대한 접근에 문제가 없지만 코드를 구현함에 있어서 어려운 분들에게 도움이 되었으면 하고자하여 작성하게 되었습니다. 2468_안전영역 - 이 문제는 빗물이 차오르는 과정 중 빗물의 값이 0 ~ 100까지 차오를때 입력받은 높이로 이루어진 지역이 안전영역이 얼마나 존재하는지 구하고 안전영역의 수가 가장 많아지는 결과를 출력하는 문제이다. - 단순히 빗물의 값보다 높은 지역들을 구하는 것이 아닌 연결요소가 가장 많이 이루어지는 경우를 찾는 문제임을 기억하자. - 문제 풀이는 BFS를 이용하여 해결하였다. - 자세한 내용은 코드의 주석을 참고하자.

2583_영역구하기 ( BFS )

본 포스팅은 문제에 대한 접근에 문제가 없지만 코드를 구현함에 있어서 어려운 분들에게 도움이 되었으면 하고자하여 작성하게 되었습니다. 2583_영역구하기 - 이 문제는 주어지는 입력을 바탕으로 배열에 값을 채워준 뒤 BFS를 통해 빈 공간의 연결요소들의 원소를 파악하여 오름차순으로 출력하면 되는 문제이다 - 문제 풀이는 BFS를 이용하여 해결하였다. - 자세한 내용은 코드의 주석을 참고하자.

2178_미로찾기 ( BFS )

본 포스팅은 문제에 대한 접근에 문제가 없지만 코드를 구현함에 있어서 어려운 분들에게 도움이 되었으면 하고자하여 작성하게 되었습니다. 2178_미로찾기 - 이 문제는 주어진 숫자배열에서 1번으로 연결된 노드들을 탐색해가며 최종 목적지까지 도달하는 최단경로를 찾는 문제이다 - 문제 풀이는 BFS를 이용하여 해결하였다. - 자세한 내용은 코드의 주석을 참고하자.

2606_바이러스 ( BFS )

본 포스팅은 문제에 대한 접근에 문제가 없지만 코드를 구현함에 있어서 어려운 분들에게 도움이 되었으면 하고자하여 작성하게 되었습니다. 2606_바이러스 - 이 문제는 바이러스에 걸린 1번노드와 연결된 연결요소의 수를 확인하여 출력하는 문제이다. 11724 연결요소의 개수 문제와 같은 방법으로 풀이가 가능하다. - 문제 풀이는 BFS를 이용하여 해결하였다. - 자세한 내용은 코드의 주석을 참고하자.