이게 Lv2가 맞나 싶은 문제였다 아님 내가 못 푸는건지..흑흑
그림을 보면 1,2,3,4,5/6,7,8,9/10,11,12/13,14/15 순서대로 움직이는 방향의 칸을 채우는 것을 알 수 있고 횟수는 총 n회, 한 번 채울 때마다 채우는 숫자의 갯수는 n부터 1씩 줄어 들어간다
n이 1000 이하이기 때문에 이중 for문으로 방향, 한 방향으로 채우는 숫자의 갯수를 조절해가며 움직인다
이 때 움직이는 방향은 아래, 오른쪽, 위 총 3가지 방향이 순서대로 간다
def solution(n):
result = [[0]*n for _ in range(n)]
answer = []
x=-1 #맨 위 0,0 칸에 1을 넣기 위해서 -1부터 시작한다
y=0
num = 1
for i in range(n): #방향
for j in range(i,n): #한 방향으로 움직일 때 채우는 갯수
if i%3==0: #아래
x+=1
elif i%3==1: #오른쪽
y+=1
else: #위
x-=1
y-=1
result[x][y]=num
num+=1
for i in result:
for j in i:
if j:
answer.append(j)
return answer