https://school.programmers.co.kr/learn/courses/30/lessons/68645
방향 진행 순서는 아래, 오른, 왼쪽 위 3가지 이동을 순서대로 이동
이동하면서 값을 추가
DIRS = {0: (1, 0), 1: (0, 1), 2: (-1, -1)}
# https://school.programmers.co.kr/questions/52719
def solution(n):
triangle_slug = [[0] * i for i in range(1, n+1)]
r, c, num = -1, 0, 1
for i in range(n):
for _ in range(i, n):
dir_r, dir_c = DIRS[i % 3] # {0: (1, 0), 1: (0, 1), 2: (-1, -1)}
r, c = r + dir_r, c + dir_c
triangle_slug[r][c] = num
num += 1
return sum(triangle_slug, [])