-
문제 설명
정수 n이 매개변수로 주어집니다. 다음 그림과 같이 밑변의 길이와 높이가 n인 삼각형에서 맨 위 꼭짓점부터 반시계 방향으로 달팽이 채우기를 진행한 후, 첫 행부터 마지막 행까지 모두 순서대로 합친 새로운 배열을 return 하도록 solution 함수를 완성해주세요.
제한사항- n은 1 이상 1,000 이하입니다.
입출력 예nresult4 [1,2,9,3,10,8,4,5,6,7] 5 [1,2,12,3,13,11,4,14,15,10,5,6,7,8,9] 6 [1,2,15,3,16,14,4,17,21,13,5,18,19,20,12,6,7,8,9,10,11] 코드
def solution(n): answer = [] li = [[0]*n for _ in range(n)] x = -1 y = 0 num = 1 for i in range(n): for j in range(i,n): if i % 3 == 1: y += 1 elif i % 3 == 2: x -= 1 y -= 1 elif i % 3 == 0: x += 1 li[x][y] = num num += 1 for i in range(n): for j in range(n): if li[i][j] != 0: answer.append(li[i][j]) return answer
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 캐시 (파이썬) (0) 2022.01.09 [프로그래머스] 영어 끝말잇기 (파이썬) (0) 2022.01.09 [프로그래머스] 2개 이하로 다른 비트 (파이썬) (0) 2022.01.09 [프로그래머스] 프렌즈4블록 (파이썬) (0) 2022.01.09 [프로그래머스] 큰 수 만들기 (파이썬) (0) 2022.01.09