17143번 - 낚시왕
테케랑 반례 모두 맞았는데 시작하자마자 틀렸다고 해서 자세한 설명과 함꼐 질문을 드리고자 합니다.
주석을 모두 달았지만 상어가 이동하는 데 쓰이는 Up Down Right Left 에 관한 설명이 주석으로는 부족한 것 같아 추가로 설명드립니다.
Up & Down 의 경우 (R-1) * 2 만큼 cycle을 갖게 됩니다.
아래의 예시를 통해 보면 Down, R = 8 이라고 가정하겠습니다.
Index는 이동한 거리라고 한다면 location은 이동 후 해당 위치가 됩니다.
Down의 경우 시작위치를 1로 설정하고 index=1 이라면 한 칸 내려가 value는 2가 됩니다. 이런식으로 진행하다가 index = 7이라면 R 까지 이동했고 그 후는 진행 방향을 반대로 진행합니다.
Index
1
2
5
Location(Value)
4
7
다시 1로 돌아올 때까지 진행하고 나면 이후는 반복됩니다.
위의 배열을 두 개를 이어 붙여서 사용합니다.
위 배열은 시작 위치가 1로 고정이지만 배열을 두 개 붙여 2 Cycle을 만들게 되면 시작 위치만큼 shift하게 된다면 모든 위치에서의 이동거리에 따른 location 을 사용할 수 있게 됩니다.
Up, Right, Left도 위와 같은 방식으로 구현했습니다.
댓글을 작성하려면 로그인해야 합니다.
tlaxh000 2년 전
테케랑 반례 모두 맞았는데 시작하자마자 틀렸다고 해서 자세한 설명과 함꼐 질문을 드리고자 합니다.
주석을 모두 달았지만 상어가 이동하는 데 쓰이는 Up Down Right Left 에 관한 설명이 주석으로는 부족한 것 같아 추가로 설명드립니다.
Up & Down 의 경우 (R-1) * 2 만큼 cycle을 갖게 됩니다.
아래의 예시를 통해 보면 Down, R = 8 이라고 가정하겠습니다.
Index는 이동한 거리라고 한다면 location은 이동 후 해당 위치가 됩니다.
Down의 경우 시작위치를 1로 설정하고 index=1 이라면 한 칸 내려가 value는 2가 됩니다. 이런식으로 진행하다가 index = 7이라면 R 까지 이동했고 그 후는 진행 방향을 반대로 진행합니다.
Index
1
2
5
Location(Value)
4
7
5
다시 1로 돌아올 때까지 진행하고 나면 이후는 반복됩니다.
위의 배열을 두 개를 이어 붙여서 사용합니다.
위 배열은 시작 위치가 1로 고정이지만 배열을 두 개 붙여 2 Cycle을 만들게 되면 시작 위치만큼 shift하게 된다면 모든 위치에서의 이동거리에 따른 location 을 사용할 수 있게 됩니다.
Up, Right, Left도 위와 같은 방식으로 구현했습니다.