inseonyun / Algorithm

알고리즘 문제 풀이
0 stars 0 forks source link

[DFS & BFS] 백준 : 2206_벽 부수고 이동하기 #7

Closed inseonyun closed 2 years ago

inseonyun commented 2 years ago

Source URL : https://www.acmicpc.net/problem/2206

inseonyun commented 2 years ago

문제 요구사항

접근 방법

풀이 순서

  1. 초기 맵의 사이즈인 N과 M 사이즈를 입력 받는다.
  2. 그 사이즈 만큼 반복문을 실행하여 데이터를 입력 받는다.
  3. 시작 점은 (0, 0) , 종료 지점은 (N - 1, M -1) 고정이므로, 시작 점부터 시작해서 종료 지점에 달하면 종료하도록 한다.
  4. 벽을 부쉈을 때의 맵과 안 부쉈을 때의 맵을 따로 관리해서 서로 각각의 데이터를 갖게 한다.
  5. 좌표가 종료 지점에 달했을 때, 해당 좌표와 차원에 해당하는 값을 ans_move에 넣는다.
  6. ans_move가 0이면 종료 지점에 오지 못하고 queue를 비워낸 것이기 때문에 -1를 출력한다.
inseonyun commented 2 years ago

[풀이 이미지]

image

위 맵을 통해 설명하자면 다음과 같다.

아래와 같은 맵에서 값이 2인 곳에서 각각 다시 시작하게 된다. 첫번째 조건을 수행했을 때의 큐 상황도 첨부하였다.

image image

inseonyun commented 2 years ago

[문제 풀이 결과] image