티스토리 뷰

풀이

입력으로 들어온 배열이 1차원으로 들어왔다. 연산을 편하게 하기 위해 우선 2차원 배열로 옮기는 작업을 수행하였다.

그다음부터는 다음 순서대로 진행하였다.

  1. 현재 칸이 '.'가 아니면 현재 칸을 기준으로 오른쪽, 아래, 오른쪽 아래를 검사하여 4칸의 문자가 같은지 비교를 한다. 만약 4개 전부 같은 문자면 방문 배열 4개를 전부 true로 해준다.

  2. true로 해놓은 곳을 전부 '.'로 바꾼다.

  3. 아래부터 탐색해서 위로 올라가면서 '.'인 것을 찾는다. 찾으면, 해당 행을 한 칸씩 위로 올라가 보면서 '.'아닌 것이 나올 때까지 탐색하여 나오면 처음 시작 위치로 대입하고 그곳은 '.'로 바꾼다. 그리고 메서드를 종료한다.

  4. 이런 식으로 while문을 통해 계속 시도한다. 언제까지 하냐면 '.' 바꿀 수 있는 칸이 하나도 나오지 않을 때까지 시도한다.(여기서는 chkDir메서드에서 하나라도 칸을 '.'로 바꾸게 되면 flag를 true로 주는데 하나도 바꾸지 않으면 false 그대로이므로 while문을 빠져나오도록 break 한다.)

  5. 마지막으로 '.'인 칸의 개수를 카운트한다.

코드

'알고리즘' 카테고리의 다른 글

<프로그래머스> 방금 그곡  (0) 2021.01.18
<프로그래머스> 2018 KAKAO BLIND RECRUITMENT [1차] 캐시  (0) 2021.01.16
<baekjoon> 트리의 부모 찾기  (0) 2021.01.09
<baekjoon> 1068 트리  (0) 2021.01.08
<baekjoon> 바이러스  (0) 2020.12.24
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함