코드
from itertools import chain
def fill_snail_pattern(n):
triangle = [[0] * (i + 1) for i in range(n)]
current_number = 1
width_index, height_index = 0, -1
for level in range(n):
for _ in range(level, n):
if level % 3 == 0: # 아래로 이동 (세로 인덱스 증가)
height_index += 1
elif level % 3 == 1: # 오른쪽으로 이동 (가로 인덱스 증가)
width_index += 1
else: # 왼쪽 위 대각선으로 이동 (가로 & 세로 인덱스 감소)
width_index -= 1
height_index -= 1
triangle[height_index][width_index] = current_number
current_number += 1
return list(chain(*triangle))