프로그래머스 삼각형 배치
아래 문제를 보면 삼각형 모양으로 숫자를 배치시켜야 한다. Solution 부분의 이미지처럼 list들을 활용해서 숫자 배치를 최대한 삼각형에 가깝게 시키면서 진행할 수 있다.
PSEUDO
def sol(n):
tri = list()
for i in range(1, n+1):
tri.append([False]*i)
num = 1
i, j = 0, 0
for k in range(n, 0, -3): # 5,2
if k >= 1:
for _ in range(k):
tri[i][j] = num
num += 1
i += 1
i -= 1 # 4, 1
j += 1
if k-1 >= 1:
for _ in range(k-1): # 4
tri[i][j] = num
num += 1
j += 1
i -= 1
j -= 2 # 3, 3
if k-2 >= 1:
for _ in range(k-2): # 3
tri[i][j] = num
num += 1
i -= 1
j -= 1
i += 2
j += 1
ans = list()
for list1 in tri:
ans += list1
return ans