[코딩테스트]/[프로그래머스]

[코딩테스트] C# 문제풀이 20. 게임 맵 최단거리

극꼼 2021. 5. 24. 21:52
반응형


 

문제 : https://programmers.co.kr/learn/courses/30/lessons/1844

 

코딩테스트 연습 - 게임 맵 최단거리

[[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,1],[0,0,0,0,1]] 11 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,0],[0,0,0,0,1]] -1

programmers.co.kr

 

게임 맵의 상태 maps가 매개변수로 주어질 때, 캐릭터가 상대 팀 진영에 도착하기 위해서 지나가야 하는 칸의 개수의 최솟값을 return 하도록 solution 함수를 완성해주세요. 단, 상대 팀 진영에 도착할 수 없을 때는 -1을 return 해주세요.

 

<제한사항>

  • maps는 n x m 크기의 게임 맵의 상태가 들어있는 2차원 배열로, n과 m은 각각 1 이상 100 이하의 자연수입니다.
    • n과 m은 서로 같을 수도, 다를 수도 있지만, n과 m이 모두 1인 경우는 입력으로 주어지지 않습니다.
  • maps는 0과 1로만 이루어져 있으며, 0은 벽이 있는 자리, 1은 벽이 없는 자리를 나타냅니다.
  • 처음에 캐릭터는 게임 맵의 좌측 상단인 (1, 1) 위치에 있으며, 상대방 진영은 게임 맵의 우측 하단인 (n, m) 위치에 있습니다.

 

 


이 문제의 경우 bfs 방식으로 풀면 간단하게 풀 수 있습니다. 

 

 * bfs, dfs방식이란? - https://geukggom.tistory.com/66

 

[알고리즘] Graph 방문 알고리즘 BFS, DFS

1. 그래프(Graph)란? 그래프란 정점과 선으로 이루어진 자료구조입니다. 더 자세한 내용은 아래 링크를 클릭해주세요. https://geukggom.tistory.com/8 [자료구조] Graph란? 1. Graph란? 정점(vertex(V))과 그 정..

geukggom.tistory.com

 

 

풀이 링크 : GitHub

 

반응형