첫번째에는 동의하나, 두번째 말씀하신 것은 잘못된 것 같습니다. 1,2에서 조건을 만족시켜야 회전을 하는 것이 맞고, 어차피 3이나 4를 만족하지 않는다면 회전은 무조건 하게 됩니다. 3번의 경우 네 방향 모두 청소가 되어 있는데 ->를 바라보고 있다면 <- 방향으로 후진하는 것이 맞습니다.
좀 더 문제를 간략하게 설명한다면, 현재 위치를 청소한 후, 왼쪽으로 돌면서 한 곳이라도 청소하지 않은 곳이 있다면 그 방향으로 진행하고, 한 바퀴를 다 돈 후에도 더 청소할 곳을 못 찾았다면 그 상태에서 뒤로 후진하면 됩니다.
이렇게 풀지 않으셨는데 정답이 나왔다는 건가요...?
kmk324 6년 전 6
현재 위치에서 현재 방향을 기준으로 왼쪽방향부터 차례대로 탐색을 진행한다.
첫번째 . 질문에서도 많은분이언급하셨듯이 문제의 조건에 탐색은 1X1크기로 진행되는 말이 필요해 보입니다. 마치 바라보는 방향을 다 보는 것처럼 해석 됩니다.
두번째. 앞선 1,2에서 바라보는 방향의 왼쪽에 조건을 만족시켜야 방향을 회전하는 것처럼 보입니다. 3의 경우도 ->방향을 바라 보다가 왼쪽 방향인 북쪽 방향이 청소가 되어 있거나 벽인 경우 ->를 유지한 채 <- 방향으로 후진해야 하는 것처럼 보입니다. 사실은 남쪽 방향으로 후진해야하죠.
이거 때문에 6시간 날렸네요..