コーディングテスト三角ウォーム解題


プログラマーデルタカタツムリ(level 2)解題
def solution(k):
    arr = [[0]*k for _ in range(k)]
    cnt = 1
    x, y = -1, 0
    n = int(k)
    while n>=0:
        for _ in range(n):
            x += 1
            arr[x][y] = cnt
            cnt += 1
        n -= 1
        for _ in range(n):
            y += 1
            arr[x][y] = cnt
            cnt += 1
        n -= 1
        for _ in range(n):
            x -= 1
            y -= 1
            arr[x][y] = cnt
            cnt += 1
        n -= 1
    
    result = []
    for i in range(k):
        for j in range(k):
            if arr[i][j] != 0:
                result.append(arr[i][j])
    return result
2週間以内に解決して、本当に面倒です.