Haribo ML, AI, MATH, Algorithm

삼각 달팽이


삼각 달팽이

코드

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))


Similar Posts

이전 포스트 멀쩡한 사각형

다음 포스트 소수 찾기

Comments