1. 문제
https://programmers.co.kr/learn/courses/30/lessons/68645
2. 풀이
규칙을 찾는게 중요하다!
최대한 뭐가 어디서 반복되는지를 잘 확인하자
** insert(자리, 넣는값) **
3. 코드
def solution(n):
answer = []
answer_list = []
for i in range(n):
element = []
answer_list.append(element)
size = n-1
index = 1
start = 0
end = 0
while (size > 0):
if index < int(((n + 1) * n)/2):
for i in range(size):
answer_list[start + i].insert(int(start/2),index)
index = index +1
for i in range(size):
answer_list[n-end-1].insert(int(start/2)+i,index)
index = index +1
for i in range(size):
answer_list[n-1 - i -end].insert(int(len(answer_list[n -1- i -end])-(end)),index)
index = index +
size = size -3
start = start +2
end= end +1
if index == int(((n + 1) * n)/2):
answer_list[start].insert(int(start/2),index)
for i in answer_list:
for j in i:
answer.append(j)
return answer
'ALGORITHM > Kakao' 카테고리의 다른 글
[Python] 이진 변환 반복하기 (0) | 2021.10.09 |
---|---|
[Python] 메뉴 리뉴얼 (0) | 2021.10.08 |
[Python] 거리두기 확인하기 (0) | 2021.10.05 |
[Python] 문자열 압축 (0) | 2021.10.05 |
[Python] 괄호 회전하기 (0) | 2021.10.05 |