그냥 dfs로 '불이 켜진 인접한 방'을 돌기만 하면, 이전에 불이 꺼진 상태라서 지나쳤으나, 그 후 불이 켜졌을 경우가 누락된다. 따라서 나는 두 가지 경우에 방문처리를 해주었다. - 인접한 방 중 불이 켜져있는 곳 방문 - 스위치로 불을 켰는데 켜진 방 주변에 visited된 방이 있을 경우, 불 켠 방 방문 private static void dfs(Pos now){ ArrayList switches = list[now.x][now.y]; for(Pos p: switches){ //불이 꺼져있는 방이면 스위치를 켠다. if(!light[p.x][p.y]){ totalCnt++; light[p.x][p.y] = true; //불 켠 곳 방문할 수 있는지 검사(인접한 곳에 visited가 true인 곳..