[프로그래머스] 거리두기 확인하기

이준영·2025년 11월 29일

거리두기 확인하기

문제 소개

문제 소개
  • P는 사람.
  • O는 이동 가능한 통로.
  • X는 이동 불가.
  • string 형태의 이차원 배열을 주는데, 사실상 char형 3차원 배열로 보인다.
  • 거리두기 성공 시 1, 거리 두기 실패 시 0을 리턴

나의 문제 풀이

  1. 일단 읽기 힘든 형태로 되어 있는 2차원 배열을 char형 2차원 배열로 변경.
  2. char형 2차원 배열을 검사.(방을 검사) -> 이걸 반복
  3. 방을 검사 할 때, P가 발견되면 BFS로 거리 계산.
  4. BFS로 거리 계산 중, 2거리 내에 P가 발견되면 중지.
  5. 만약 발견되지 않으면 최종적으로 1을 리턴.
ConvertToCharGrid
  • char형 2차원 배열로 바꾸는 메서드.
Checkroom
  • 방을 검사하는 메서드.
  • P를 발견하면 거리두기 검사.
CheckViolations
  • 거리두기 확인하는 메서드.
  • BFS를 활용.
  • (행, 열, 거리) 튜플 사용.
solution
  • 구현된 메서드를 사용하여 모든 방을 검사하는 메서드.

소감

아 굴 먹고 죽을거 같네

profile
게임 개발자가 되기 위해서 공부하는 중입니다.

0개의 댓글