https://school.programmers.co.kr/learn/courses/30/lessons/68645
삼각형 구조를 만들기 위한 배열을 선언한다
n번의 회차만큼 배열에 저장되기 때문에 반복문을 n번 실행시킨다
하나의 둘레는 3회가 필요한데,
회차 % 3 == 0이면 아래, 1이면 오른쪽, 2면 위쪽으로 이동한다
2차원 배열에 저장된 데이터는 sum(배열, [])을 통해 1차원으로 변경하여 합산해준다
소스 코드
def solution(n):
answer = []
result = [[0] * n for _ in range(n)]
x, y = -1, 0 # 처음 시작은 아래로 내려가기 때문에 x = -1
num = 1
for i in range(0, n):
for j in range(i, n):
if i % 3 == 0:
x += 1
elif i % 3 == 1:
y += 1
elif i % 3 == 2:
x -= 1
y -= 1
result[x][y] = num
num += 1
for i in result:
for j in i:
if j != 0: answer.append(j)
return answer