나선 행렬

나선 행렬

보통

소개

옛 숲 근처의 작은 마을에는 숲 깊은 곳에 묻힌 보물에 대한 전설이 있었어요. 수많은 시도에도 불구하고, 아무도 그 보물을 찾아내지 못했어요. 그런데 Elara라는 젊은 탐험가 덕분에 곧 상황이 바뀌게 되었어요. Elara는 보물이 어디에 있는지 찾는 방법이 적힌 오래된 문서를 발견했어요. 이 방법을 따라 Elara는 보물로 가는 길을 알려 주는 지도를 그릴 수 있었어요.

놀랍게도 그 길은 독특한 시계 방향 나선을 그리고 있었어요. 예전에 아무도 그 보물을 찾지 못한 것도 당연했어요! 지도를 손에 들고, Elara는 숨겨진 보물을 찾아 여정을 떠나요.

지침

주어진 크기의 정사각 행렬을 반환하는 것이 과제예요.

행렬은 왼쪽 위 모서리의 1부터 시작해, 안쪽으로 시계 방향 나선 순서로 커지는 자연수로 채워요. 다음 예시를 봐요.

예시

크기가 3인 나선 행렬

1 2 3
8 9 4
7 6 5

크기가 4인 나선 행렬

 1  2  3 4
12 13 14 5
11 16 15 6
10  9  8 7

출력은 행 우선 순서로 배치해야 해요. 첫 번째 행의 단어를 모두 쓰고, 그다음 두 번째 행의 단어를 쓰는 식으로요.

레지스터

레지스터 용도 타입 설명
$a0 입력 정수 크기
$a1 입력/출력 주소 행 우선 순서로 된 단어의 행렬
$v0 출력 정수 행렬에 있는 단어 수
$t0-9 임시 임의 임시 저장용
GitHub에서 편집 링크가 새 창이나 탭에서 열려요
MIPS Assembly Exercism

나선 행렬 문제를 시작해 볼 준비가 됐나요?

Exercism에 가입하고 MIPS Assembly 트랙을 연습 문제 70개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.