메모/알고리즘

[백준] Java - 미로 탐색

Floodnut 2022. 4. 27. 23:01
 

2178번: 미로 탐색

첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다.

www.acmicpc.net

1   9 10 11 12
2   8   12  
3   7   13 14
4 5 6   14 15

 

정말 쉬운 BFS 문제이자 FloodFill 알고리즘을 사용하는 문제이다.

파이썬으로 코테를 준비하다가 자바를 새로 준비해보려니 자바 자체의 문법을 이용하는게 좀 오래 걸렸다.

 

1, 1의 좌표에서 n, m 좌표까지의 최단 거리를 출력하면 된다.

기본적으로 이동할 수 있는 위치를 표시하는 배열과 방문 여부를 확인하는 배열을 입력 값의 크기만큼 할당하고 시작한다.

위의 표 처럼 다음 이동할 위치에는 현재 위치의 값에 1을 더한다.

이런 식으로 값을 더해나가면서 최종 위치에 도달하면 낭비되는 값 없이 최단 거리를 출력할 수 있다.

 

 

 

GitHub - Floodnut/algorithm: 알고리즘 풀이 모음

알고리즘 풀이 모음. Contribute to Floodnut/algorithm development by creating an account on GitHub.

github.com