zookeeper_464   3년 전

예제의 경우 질문들을 검색해서 로직에 맞다는 걸 확인했습니다.

21번째 청소 구역에서 로직이 잘 이해되지 않는데 제 생각에는 그 부분이 가장 의심스러운 부분인데 어떻게 고쳐야 할지 감이 잘 안 잡힙니다.

로직이 틀린 내용도 아니고 실행이 되고 답도 다 맞았는데 왜 "틀렸습니다."가 뜰까요? ㅠㅠ

qjatn1009   3년 전

d가 0인 경우에는 북쪽을, 1인 경우에는 동쪽을, 2인 경우에는 남쪽을, 3인 경우에는 서쪽을 바라보고 있는 것이다.

dy,dx가 틀린 거 같네용 그럼 밑에도 회전이 바뀌겠죠?


zookeeper_464   3년 전

말씀 감사합니다 ㅠㅠ

바꾸고 나니까 알려주신 예제는 잘 돌아가네요!

근데 원문 예제를 다시 확인하려고 하니까 56(정답 : 57)이 나와서 다시 또 막혀버린 느낌이예요.

진행방향이 갑자기 엉뚱한 곳으로 튀는데 코드를 싹 갈아엎어야 하는건지 부분 수정을 해야하는건지 막막하네요...

혹시 조언 주실 수 있으시다면 감사히 받겠습니다!

오류 부분은 5번째 청소하는 부분부터 나오고 있어요...

11 10
7 4 0
1 1 1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 0 0 1
1 0 0 0 1 1 1 1 0 1
1 0 0 1 1 0 0 0 0 1
1 0 1 1 0 0 0 0 0 1
1 0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 1 0 1
1 0 0 0 0 0 1 1 0 1
1 0 0 0 0 0 1 1 0 1
1 0 0 0 0 0 0 0 0 1
1 1 1 1 1 1 1 1 1 1

답 : 57
출력 : 56

qjatn1009   3년 전

17번 라인데 왼쪽방향 탐색을 (look+3) %4로 하시구 18번라인은 look + 1입니당

그럼 18번 라인은 방향을 혼자 오른쪽으로 돌겠죠?

zookeeper_464   3년 전

이렇게 간단하게 해결 될 내용을 몇 시간동안 붙잡고 있었다는게 아쉽네요 ㅠㅠ

앞으로는 좀 더 주석을 자세하게 달아 놓고 코드를 짜는 연습을 해야겠네요!


조언 감사합니다 :)


입력:

6 6

2 1 3

1 1 1 1 1 1

1 0 0 0 0 1

1 0 1 1 1 1

1 0 1 1 1 1

1 0 1 1 1 1

1 1 1 1 1 1

정답: 7

output : 5

지나가는 나그네인데요 질문이 있습니다!

예시로 주신 이 문제는 왜 정답이 5가 아니라 7인가요?

제 코드도 계속 틀리고 있어서 아마 제가 문제를 잘못 이해하고 있는 것 같습니다.

제가 이해한 이 예시에서의 청소 순서는

(2, 1) 청소

반시계 방향으로 90도 회전하여 북쪽 바라봄

(1, 1) 청소

서쪽은 벽이고 남쪽은 청소 끝났으므로 동쪽으로 이동

(1, 2) 청소

(1, 3) 청소

(1, 4) 청소

후진

후진

후진

동쪽을 바라보고 있는 상태로 (1, 1)로 다시 복귀하여 북, 서, 남, 동을 확인해보니 4 방향 다 벽 아니면 청소 완료됨.

동쪽을 바라보고 후진

후진했더니 (1, 0)이 벽이어서 종료


이렇게 하면 (2, 1), (1, 1), (1, 2), (1, 3), (1, 4), (1, 5)

순으로 청소하고 종료해야 하는것 아닌가요?? 제가 문제를 어디서 잘못 이해하는지 모르겠습니다..

댓글을 작성하려면 로그인해야 합니다.