Algorithm/백준

백준 - 치즈

whyWhale 2023. 2. 12.

문제 설명

공기면과 닿은 치즈는 녹는다.

치즈가 전부 사라지는 시간과 전부 사라지기전 치즈 개수를 구하라

생각한 아이디어

공기면과 맞닿는 치즈인 것을 어떻게 판별 할 수 있을까?

  • 문제 첫줄에 힌트 있음 - > 가장자리는 무조건 적으로 치즈가 존재하지 않음을 의미
  • 가장 자리 부터 탐색에 1이 맞닿는 곳이면 녹을 치즈인 것을 알 수 있다.

풀이

public static int[] solution() {
   int[] answer = new int[2];
   int cheeseCnt = 0;

   for (int i = 0; i < n; i++) {
      for (int j = 0; j < m; j++) {
         if (map[i][j] == CHEESE) {
            cheeseCnt++;
         }
      }
   }
   int hour = 0;
   int leftCheese = 0;

   while (cheeseCnt != 0) {
      hour++;
      leftCheese = cheeseCnt;
      cheeseCnt = melt(cheeseCnt); // bfs
   }

   answer[0] = hour;
   answer[1] = leftCheese;
   return answer;
}

'Algorithm > 백준' 카테고리의 다른 글

괄호 제거  (0) 2023.03.09
백준 - 퇴사  (0) 2023.02.12
Strahler 순서  (0) 2022.11.15
영우는 사기꾼?  (0) 2022.11.15
BOJ1931_회의실 배정  (0) 2021.10.24

댓글