컴퓨터

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