# 3. APS/SWEA

SWEA # Python_D2_1954_달팽이 숫자

둥굴둥굴둥굴레차 2021. 2. 25. 01:59

 

 

👩‍🚒 [문제]

 

달팽이는 1부터 N*N까지의 숫자가 시계방향으로 이루어져 있다.
다음과 같이 정수 N을 입력 받아 N크기의 달팽이를 출력하시오.

 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

[input]
2    
3   
4 

[output]
#1
1 2 3
8 9 4
7 6 5
#2
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
 
[범희 풀이]

T = int(input())


for tc in range(1, T+1):
    N = int(input())
    arr = [[0 for _ in range(N)] for _ in range(N)]
    # 숫자
    num = 1
    # x좌표
    row = 0
    # y좌표
    col = -1
    # 진행방향 설정을 위해
    trans = 1
    while N > 0:
        for _ in range(N):
            col += trans
            arr[row][col] = num
            num += 1
        N -= 1
        for _ in range(N):
            row += trans
            arr[row][col] = num
            num += 1
        trans *= -1

    print("#{}".format(tc))
    for i in range(len(arr)):
        print(*arr[i])