알고리즘 분류)
배열을 달팽이 모양처럼 출력하는 문제이다
처음에는 수학적인 어떠한 방법이 있을까하여 계속 고민했지만
결국 단순 인덱스놀이 문제라는 것을 깨달았다
내가 시도한 방법은!
[0,0]위치(값=N^2) 부터 가운데위치(값=1) 까지 인덱스를 채워나가는 방법이다
한바퀴를 순회하면 N을 1감소시켜 안쪽에서 돌도록 해주었다
N = int(input())
search_num = int(input())
loof = N #N값을 바꾸어 줄 것이므로 초기 N값 저장
num = N*N
array = [[0 for col in range(N)] for row in range(N)]
i=start=0
j=0
N-=1
for _ in range(((loof-1)//2)+1):
while i<=N:
array[i][j]=num
num-=1
i+=1
i-=1
j+=1
while j<=N:
array[i][j]=num
num-=1
j+=1
j-=1
i-=1
while i >= start:
array[i][j]=num
num-=1
i-=1
start+=1
j-=1
i+=1
while j >= start:
array[i][j]=num
num-=1
j-=1
j+=1
i+=1
N -= 1 #한바퀴 끝
for i in range(loof):
print(*array[i])
if search_num in array[i]:
x = array[i].index(search_num)+1
y = i+1
print(y,x)