거리두기 확인하기 — 파이썬

카카오 2021 인턴십

공식 해설

사람이 있는 정점들에서 시작하는 깊이 우선 탐색(DFS) 또는 너비 우선 탐색(BFS) 알고리즘을 사용하면 해결이 가능합니다. 이때, 거리 2 이내만 확인하면 된다는 점에 유의하여 구현해야 합니다.
이 방법 이외에도, 거리 2 이내까지만 확인하면 문제를 풀 수 있기 때문에 이중 반복문을 사용해서 직접 한 칸씩 확인하는 것도 충분히 가능한 방법입니다.

문제

코드

  • 문제에 거리를 표현하기 위한 값들이 존재해서 가독성이 떨어질 수 있다. 이럴 경우, 상수로 만들어서 가독성을 높이자! ex. nx, ny = x+dx, y+dy
  • dist 의 경우에 따라 상황이 달라지기 때문에, 각각의 경우를 나누어서 구해준다.

I will be a software architect.

I will be a software architect.