https://school.programmers.co.kr/learn/courses/30/lessons/68645

python
def solution(n: int) -> list:
# 삼각형 배열 초기화
triangle_graph = [[0] * (i + 1) for i in range(n)]
dxs = (1, 0, -1)
dys = (0, 1, -1)
x, y = -1, 0
count = 0
for idx, loop in enumerate(range(n, 0, -1)):
# 방향 전환
dx = dxs[idx % 3]
dy = dys[idx % 3]
for _ in range(loop):
x += dx
y += dy
count += 1
# 값 채우기
triangle_graph[x][y] = count
result = []
for array in triangle_graph:
result += array
return result
if __name__ == "__main__":
result = solution(4)
print(result)
print(result == [1,2,9,3,10,8,4,5,6,7])
[1, 2, 9, 3, 10, 8, 4, 5, 6, 7]
True