두번 직진하고 꺾다가, 위쪽의 긴 라인에서는 쭉 직진을 해야하는 것이 포인트. 결국은 초록색 발판에서 꺾는 것을 다시 원래대로 돌리는 명령을 수행해야 한다.
컴퓨터
초록색 발판을 조건으로 삼아야 할 거 같은데 어떻게 문제를 풀지 고민이 되었다. 생각한 결론은, 한 칸을 가고 다음 칸이 초록색일 경우 90도 회전하기를 반복. 조금 많이 빙글빙글 돌긴 했는데 풀리긴 풀렸다. 아마 명령 3개 타일로 해결하려면 이 방법밖에 없지 않을까?
문제가 복잡해 보이지만 223번 문제 처럼 어렵게 생각할 필요 없다. 각 색깔의 발판이 어떤 위치에 있고, 어떤 역할을 하는지만 파악하면 쉽게 풀 수 있다. 아마 답은 이 방법 외에는 없을 것 같다. 초록색 발판은 다시 방향을 정반대로 바꿔주는 역할을, 빨간색 발판은 방향을 90도 전환하는 역할을 하고 있다. 반복을 조금 오래하긴 하지만 잘 풀린다.
처음 이 문제를 보면 구조가 복잡해 보여서 당황할 수 있다. 하지만 초록색과 빨간색 발판의 위치를 주의깊게 본다면 어렵지 않게 해결할 수 있을 것이다. 이 문제도 F2를 만들지 않아도 풀렸다. 초록색 발판일 때 방향을 180도 전환하고, 빨간색 발판일 때 90도 전환해 방향을 틀어 직진시키면 모든 칸을 순환할 수 있다.
빨간색 발판이 꺾이는 지점으로 빨간색 발판일 때 조건만 잘 써주면 된다. 한 가지 주의할 점은, 위쪽 빨간색 발판은 오른쪽으로 꺾어야 하지만, 아래쪽 빨간색 발판은 왼쪽으로 꺾어야 한다는 점. F2를 안써도 쉽게 풀 수 있었다.
이 문제는 발판 색깔에 대한 조건을 추가할 수 있다는 것을 모르고 풀기 시작해서 엄청나게 애를 먹었다. 10분동안 여러가지 방법을 써 봤는데, 발판 색깔에 조건을 줄 수 있다는 것을 알고는 금방 풀었다. 풀이야 여럿 있겠지만 나는 이렇게 풀었다. F1은 빨간색 발판을 닿기 전까지 반복하는 함수인데, 초록색 발판의 경우 좌회전을, 그렇지 않으면 직진, 그리고 빨간색 발판의 경우 우회전과 F2를 실행한다. F2는 빨간색 발판 닿은 이후에 반복하는 함수로, 초록색 발판이 나오면 우회전을, 그렇지 않으면 직진을 한다.
140번 문제 sh. 처음에 커서 방향이 반대로 시작한다. 풀이가 여럿 존재할 듯. 첫 풀이로는 빨간색 발판일 때 조건을 추가하여 해결하였다. 빨간색 발판일 때 방향을 180도 전환하고 직진하도록 하였다. 두 번째 풀이로는 조건을 주지 않고 반복하는 식으로 해결하였다. 이 방법은 제일 앞의 발판이 빨간색이 아니더라도 (같은 색깔이더라도) 풀 수 있다!