728x90
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
분석
- 삼각형 리스트 생성
- 채울 숫자 변수 선언
- n번 회전하므로 n번 반복
- 3으로 나눠서 방향 체크 : 세 방향(아래쪽, 오른쪽, 위쪽)으로 채워지기 때문
- 회전하면서 채워지는 길이는 n, n-1, n-2, ... ,1
n=5인 경우, 5번 회전하면서
(1,2,3,4,5) 방향 하
(6,7,8,9) 방향 우
(10,11,12) 방향 상
(13,14) 방향 하
(15) 방향 우
순서로 채워짐
풀이
def solution(n):
answer = [[0 for j in range(1, i+1)] for i in range(1, n+1)] # 삼각형
r,c = 0,0 # 좌표
i = 1
for d in range(n): # 방향
for _ in range(n-d):
if d%3 == 0: # 하
r += 1
elif d%3 == 1: # 우
c += 1
else: # 상
r -= 1
c -= 1
answer[r-1][c]=i
i+=1
return sum(answer, [])
월간코드챌린지
728x90