def solution(n):
answer = []
floor = []
start = 1
# 삼각형 리스트
for i in range(n):
floor.append([0] * (i+1))
# x는 가로축
x = 0
# y는 세로축 0부터시작해야함 아래에서 더해줄것이기 때문에 -1로 설정
y = -1
# 한면에서 방향이 바뀔때 마다 길이가 1씩 줄어듬 4 > 3 > 2 > 1
# 이중 for문으로 j부터 n까지 출력 (길이만큼 돌기 위해서)
# ex)n = 4 0,1,2,3 || 1,2,3 || 2,3 || 3
for j in range(n):
for k in range(j , n):
#0이면 아래, 1이면 오른쪽, 2면 위
# 아래로 가기 때문에 세로축 + 1
if j % 3 == 0:
y += 1
# 오른쪽으로 진행하기때문에 가로축 + 1
elif j % 3 == 1:
x += 1
# 위로 진행하기 때문에 가로축 -1 , 세로축 -1
elif j % 3 == 2:
x -= 1
y -= 1
# 1부터 시작하는 start를 넣고 start에 +1 을 해준다
floor[y][x] = start
start += 1
# floor 리스트 안의 리스트들을 answer에 더해줌
for b in floor:
answer += b
return answer