본문 바로가기

PS/백준

[BOJ] 백준 1012 유기농 배추 (Swift)

반응형

문제

https://www.acmicpc.net/problem/1012

 

1012번: 유기농 배추

차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 

www.acmicpc.net

풀이

DFS 또는 BFS를 사용하여 풀 수 있는 문제입니다.
문제에서는 입력을 위치로 주어지고 있습니다.
저는 2차원 Bool 배열을 사용해 해당 위치를 true로 주었습니다.

해당 위치를 탐색했는지 확인하기 위해 2차원 Bool 배열을 선언하였고,
지렁이가 상하좌우로 이동할 수 있기 때문에 방향을 설정할 dy, dx 배열을 선언해주었습니다.
탐색을 하기 전 마지막으로 범위를 벗어나는지 확인하기 위한 함수를 작성해주었습니다.

이제 해당 위치가 true일 때, DFS나 BFS를 사용하여 탐색해주면 됩니다.
탐색을 시작할 때, 지렁이가 한마리가 필요하게 되므로 지렁이 수를 1씩 증가시켜주었습니다.

소스코드

후기

그래프, DFS, BFS에 대한 이해가 있다면 쉽게 풀 수 있는 문제입니다.

반응형