알고리즘 연습/구현, 문자열
[Lv.1 / 프로그래머스 / 파이썬] 택배 상자 꺼내기 (2025 프로그래머스 코드챌린지 2차 예선)
김세진
2025. 2. 17. 01:23
반응형
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
풀이
주어진 조건대로 상자를 쌓은 뒤, 해당 지점에서부터 몇 층의 박스가 쌓여있는지 확인하면 된다.
def solution(n, w, num):
# 박스 정리
MAX_ROW = n//w+1
boxes = []
for row in range(MAX_ROW):
boxes.append([row*w + i if row*w + i <= n else 0 for i in range(1, w+1)][::-1 if row%2==1 else 1])
# 박스 탐색
for r in range(MAX_ROW):
for c in range(w):
if boxes[r][c] != num:
continue
# 박스 발견
res = 0
for i in range(MAX_ROW):
res += 1
r+=1
if r >= MAX_ROW:
return res
if boxes[r][c] == 0:
return res
반응형