SMALL
백준 문제 중 벌집을 풀다가 예전에 프로그래머스 월간챌린지에서 본 문제랑 비슷해 보였습니다.
음, 비슷해보이는건 그림 때문이고ㅋㅋ 전혀 다른 문제였습니다.
수열을 이용해서 푸는 게 아니라
배열의 구조를 이용해서 문제에 접근해야 하더군요
문제 출처
풀이 코드
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
'알고리즘-python > Programmers 문제' 카테고리의 다른 글
[프로그래머스/2단계/파이썬(Python3)] 캐시 (0) | 2021.07.13 |
---|---|
[프로그래머스/2단계/파이썬(Python3)] 더 맵게 (0) | 2021.07.08 |
[프로그래머스/1단계/파이썬(Python3)] 모의고사 (0) | 2021.07.04 |
[프로그래머스/1단계/파이썬(Python3)] 로또의 최고 순위와 최저 순위 (0) | 2021.07.04 |
[프로그래머스/2단계/파이썬(Python3)] 가장 큰 수 (0) | 2021.06.27 |