랜덤 지뢰찾기(Random Minesweaper) 구현 (feat. kotlin)

Mango
2 min readJan 29, 2021

--

프로그래머스같은 알고리즘 트레이닝 사이트를 통하여

알고리즘 문제를 풀다보면 가끔 지뢰찾기 관련 문제들을 보게된다.

나는 원래 지뢰찾기 규칙조차 몰랐지만 해당 문제를 해결하기(로직을 구현하기) 위해

지뢰찾기 규칙부터 찾아보아야 했습니다..

- 규칙(Rules)

예를들어 10x10 사이즈인 2차원 배열 안에 10개의 지뢰가 매설되어있다고 가정하면 각 칸별로 자기를 둘러싸고 있는 자신을 제외한 나머지 8칸 영역 내에 지뢰가 존재하는 갯수를 숫자로 출력하게 되고 근처에 지뢰가 존재하지 않을 경우 빈 공간을 나타내게 된다. 자세히 이해하기 위해서 메인사진을 조금 더 확대해서 보면 이해가 더 잘 될거에요.

  • 지뢰가 매설될 index 배열을 랜덤으로 생성
  • 자기 주위에 지뢰의 갯수를 구하는 알고리즘 구현
  • 주어진 row 열에 지뢰찾기 cell을 출력

아래 예시 중 -1은 지뢰, 0은 근처에 지뢰가 없는 경우, 나머지는 지뢰의 갯수들이다.

랜덤 지뢰찾기를 프린트하는 동작을 구현하는데 필요한 동작들을 함수 단위로 나누어서 설명하였습니다. 쉽게 이해할 수 있도록 노력하였지만 제가 원하는 만큼 쉽게 풀어내지 못한 것 같아 조금은 아쉬워요.

질문이 있거나 더 시간 복잡도를 따져보았을 때 더 효율적인 방법이 있을 경우 언제든지 댓글 남겨주시면 답변 드리도록 하겠습니다!

--

--

Mango
Mango

Written by Mango

Wanna be a good programmer

No responses yet