jslkap227   2년 전

'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다.

게임은 NxN 정사각 보드위에서 진행되고, 몇몇 칸에는 사과가 놓여져 있다. 보드의 상하좌우 끝에 벽이 있다. 게임이 시작할때 뱀은 맨위 맨좌측에 위치하고 뱀의 길이는 1 이다. 뱀은 처음에 오른쪽을 향한다.

뱀은 매 초마다 이동을 하는데 다음과 같은 규칙을 따른다.

  • 먼저 뱀은 몸길이를 늘려 머리를 다음칸에 위치시킨다.
  • 만약 이동한 칸에 사과가 있다면, 그 칸에 있던 사과가 없어지고 꼬리는 움직이지 않는다.
  • 만약 이동한 칸에 사과가 없다면, 몸길이를 줄여서 꼬리가 위치한 칸을 비워준다. 즉, 몸길이는 변하지 않는다.

문제 처음 설명에서 '벽 또는 자기자신과 부딪히면 게임이 끝난다'고 나와있지만 아래 규칙에서, 만약 이동한 칸에 사과가 없다면, 꼬리가 위치한 칸을 '비워준다' 이 '비워준다'는 말 때문에 마치 꼬리가 머리의 자리를 비켜준다 -> '부딪히지 않는다' 로 착각할 수 있을 것 같습니다. 실제로 많은 분들이 문제 이해에 어려움을 겪으시고, 제 말처럼 착각하시는 사례도 많은 것 같아요.

아예 규칙 1~2번째 라인 사이에, '만약 벽이나 자기자신의 몸과 부딪히면 게임이 끝난다.' 를 한번 더 추가해주시면 문제 설명이 좀 더 친절해질 것 같은데 가능할까요?

mardi2230   2년 전

문제가 뭔소리인지 이해가 안갔는데, 감사합니다!

kimjangh94   2년 전

입출력 보면서 왜 저 값이 나오나 했는데.. 문제 이해 이제 했습니다 감사합니다.

startlink   10달 전

수정했습니다.

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