달팽이 문제란 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 와 같이 숫자가 시계방향으로 돌아가면서 바깥부터 안쪽으로 채워지는 형태의 2차원 배열을 구현하는것을 의미한다. 숫자는 어차피 1씩 증가하면서 배열에 저장되므로 중점을 두고 보아야 할 부분은 '배열의 index'이다. 편의상 배열의 index는 arr[i][j]로 한다. 달팽이 문제는 크게 다음과 같은 두가지 관점으로 볼 수 있다. 가로(width)부분은 j값의 증감 세로(length)부분은 i값의 증감 1set를 시작지점에서 가로 혹은 세로의 끝 지점까지 간다고 볼 때 각 set는 다음과 같다. 0~5까지를 보면 arr[0][0], arr[0][1] , arr[0][2], ..