iknoom1107   2년 전

  1. 벨트가 각 칸 위에 있는 로봇과 함께 한 칸 회전한다. 내리는 위치에 있는 로봇은 내린다.
  2. 가장 먼저 벨트에 올라간 로봇부터, 벨트가 회전하는 방향으로 한 칸 이동할 수 있다면 이동한다. 만약 이동할 수 없다면 가만히 있는다.
    1. 로봇이 이동하기 위해서는 로봇이 내리는 위치가 아니고, 이동하려는 칸에 로봇이 없으며, 그 칸의 내구도가 1 이상 남아 있어야 한다.
  3. 올리는 위치에 있는 칸의 내구도가 0이 아니면 올리는 위치에 로봇을 올린다.
  4. 내구도가 0인 칸의 개수가 K개 이상이라면 과정을 종료한다. 그렇지 않다면 1번으로 돌아간다.

이 때 2번에서 로봇이 이동하여 내리는 위치에 도달한 경우에 대한 설명이 없습니다.

1. 도달한 경우 바로 내린다는 설명을 추가하거나

2. 그게 아니면 1번에 의해서 컨베이어 벨트가 움직일 때 로봇이 떨어진다는 설명을 추가해주세요.

djm03178   2년 전

그 경우 바로 내리지 않습니다. 해당 로봇이 내려가는 시점은 다음 번 단계가 진행될 때 1번에서 내리게 됩니다.

아무 설명이 없다면 아무 행동도 하지 않는다고 추론하는 것이 자연스럽다고 생각합니다.

iknoom1107   2년 전

2번에서 바로 내리지 않는다면 다음 번 단계의 1번에서 내린다고 하셨지만

그 전에 먼저 벨트가 움직이는 것으로 해석됩니다. (로봇이 N번째 위치에 있음 + 벨트가 움직임)


더 자세히 설명드리자면,

일단 AC를 받기 위해서는 1번에서 벨트가 움직이기 전에 내리고, 벨트가 움직이고 나서도 내려야합니다.

  1. 벨트가 각 칸 위에 있는 로봇과 함께 한 칸 회전한다. 내리는 위치에 있는 로봇은 내린다.

이 문장은 벨트가 움직이고나서만 로봇을 내리는 것으로 해석됩니다.

djm03178   2년 전

그 부분이 모호하다면 내리는 위치에 있는 로봇을 내린다는 문장을 "벨트가 각 칸 위에 있는 로봇과 함께 한 칸 회전한다."보다 앞으로 빼면 될 것 같습니다. 지문 수정을 요청했을 때부터 그것을 의도했습니다.

서로 같은 번호에 있고 선후 관계를 나타내는 표현이 없기 때문에 회전하기 이전에 내리는 위치에 있는 경우를 의미하는 것으로 해석해야 한다고 생각했지만 말씀하신 대로 헷갈릴 여지는 있어 보입니다.

iknoom1107   2년 전

위에서 말씀드렸다싶이 AC를 받기 위해서는 1번에서 벨트가 움직이기 전에도 내리고, 벨트가 움직이고 나서도 내려야합니다.

즉, 선후 관계를 다르게 해석해서 "내리는 위치에 있는 로봇은 내린다."를 회전하기 이전으로 해석한다하더라도

벨트가 움직이고 나서 로봇을 한번 더 내리지 않기 때문에 AC를 받을 수 없습니다.

선후 관계가 헷갈리는게 문제가 아닌 것 같습니다.

로봇을 내리는 것을 선과 후에 총 두번 수행되어야하는데 지문이 그렇게 해석되기 어려워보입니다.


1번을 다음과 같이 수정할 필요가 있다고 생각합니다.

"1. 벨트가 각 칸 위에 있는 로봇과 함께 한 칸 회전한다. 벨트가 회전하기 전과 후에 내리는 위치에 있는 로봇이 있다면 로봇을 내린다."

djm03178   2년 전

말씀하신 것이 맞는 것 같습니다. 제가 지문 내용을 틀리게 요청했었네요. 문제의 조건이 복잡해서 원래 의도된 게 뭐였는지 헷갈렸나 봅니다.

djm03178   2년 전

그렇다면 2-1번 조건의 "로봇이 내리는 위치가 아니고"도 지우는 게 나을 것 같습니다. 요청을 쓸 당시에는 그 자리에 로봇이 있을 수 있다고 생각했었던 것 같은데, 1번 후에 내리는 위치의 로봇을 내렸다면 그런 경우가 있을 수 없겠네요.

tpwjd9293   2년 전

저 이거 풀어봤는데 내리는 위치에 로봇이 도달하면 무조건 내리게하는 로직으로 짜야 문제가 맞네요 ㅡㅡ;; 

글쓴분 설명대로 내용 보강해줘야할듯

startlink   2년 전

수정했습니다.

yeongjae8066   2년 전

내린다는 것이 N에서 N+1로 옮기는 것인지 아니면 벨트에서 빼는 것인지요??

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