우선 좀 눈이 아프시겠지만 이런 그림이 주어지고요..
+++++++++++++++++++++++++++++
+.......+.......+...........+
++++....+++++...+....++++...+
+..+........+...+....+..+...+
+..+++++....+++++....++++...+
+...........+...+....+..+...+
+..++++++++++...++++++..+...+
+..+.........+++........+...+
+..+.........+.+..+++...+...+
+..+.........+.+..+++...+...+
+...+........+.+..+++...+...+
+....+.......+.+........+...+
+++++++++++++++++++++++++++++
하나의 집을 표현한 그림입니다. (그대로 가져왔는데 규격이 안맞아서 이상해지네요..--;; 밑에 숫자로 표현한건 제대로 되어있습니다.)
여기서 +는 벽을 의미하고 그 안에 점 들은 방을 의미해요.
여기서 같은 방 안에 몇개의 점들이 있는지 세어야 하는데
이를 숫자로 표현하면
+++++++++++++++++++++++++++++
+1111111+2222222+66666666666+
++++1111+++++222+6666++++666+
+11+11111111+222+6666+77+666+
+11+++++1111+++++6666++++666+
+11111111111+333+6666+88+666+
+11++++++++++333++++++88+666+
+11+444444444+++88888888+666+
+11+444444444+5+88+++888+666+
+11+444444444+5+88+++888+666+
+111+44444444+5+88+++888+666+
+1111+4444444+5+88888888+666+
+++++++++++++++++++++++++++++
이렇게 되는데 같은 방 안에 있으면 같은 숫자로 표현하는 겁니다. 1번들은 다 1번방에 있다는 의미, 2번은 다 2번방에 있다는 의미로요.
경계는 벽을 의미하는 +가 경계선인 셈이구요.
여기서 방의 개수를 세고 (8번까지 있으니 8개의 방)
또 각 방마다 점의 개수를 세야하는 문제인데요. (숫자로 표현했을때 1의 개수, 2의 개수..)
이걸 어떻게 구현해야 할까요? 2차원배열에 저장해서 순차대로 하나씩 읽는걸로 생각했는데 그렇게 하면 진행하다 막히던데..
친구 조언으로는 DPS를 사용하라던데 이걸로 가능할까요?