알고리즘-python/Programmers 문제
[프로그래머스/2단계/파이썬(Python3)] 삼각달팽이
빅데이터1020
2021. 7. 7. 16:19
SMALL
백준 문제 중 벌집을 풀다가 예전에 프로그래머스 월간챌린지에서 본 문제랑 비슷해 보였습니다.
음, 비슷해보이는건 그림 때문이고ㅋㅋ 전혀 다른 문제였습니다.
수열을 이용해서 푸는 게 아니라
배열의 구조를 이용해서 문제에 접근해야 하더군요
문제 출처
코딩테스트 연습 - 삼각 달팽이
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]
programmers.co.kr
풀이 코드
def solution(n):
box = [[0]*a for a in range(1,n+1)] # 삼각형 박스 만들기
x, y = 0, 0 # 초기 좌표
num=1
for i in range(n):
for j in range(i, n):
if i % 3 == 0: # 아래
x+=1
elif i % 3 ==1: # 오른쪽
y+=1
elif i % 3 ==2: # 위 + 왼쪽
x-=1
y-=1
box[x-1][y] = num # 좌표에 해당하는 박스에 숫자대입
num+=1 # 다음 차례인 num 설정
return sum(box,[]) # 2차원 리스트를 1차원 리스트로 바꾸기
LIST