전, 후, 좌, 우가 모두 청소가 되어 있는 경우와, 뒤에 벽이 있는 경우는 다를 수 밖에 없습니다.
문제에 정확하게 명시가 되어 있습니다. 문제대로 구현하시기만 하면 풀리는 문제입니다.
어디가 이해가 안 가시는 것일까요?
예를 들어서
데이터가 아래와 같이 되어 있다고 해 봅시다.
그리고 출발 위치는 s로 표시를 해 놓았습니다. 출발 위치에서 저는 동쪽을 보고 있습니다.
그 경우 일단, 내 왼쪽에 길이 있기 때문에 쭉 위로 올라가겠죠?
그리고 나서, 5번 조건에 의해서 밑으로 내려옵니다. 그러면 청소기는 북쪽을 바라보고 있을 수 밖에 없겠죠?
북쪽의 왼쪽 방향은 서쪽입니다. 서쪽에 청소 안 한 공간이 있지요? 그러니까 방향을 꺽어서 청소를 하는 겁니다.
kinssang 7년 전