반응형
프로그래머스
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
반응형
'알고리즘 연습 > 구현, 문자열' 카테고리의 다른 글
[Lv.2 / 프로그래머스 / 파이썬] 충돌위험 찾기 (PCCP 기출문제 3번) (0) | 2025.02.11 |
---|---|
[Lv.1 / 프로그래머스 / 파이썬] 데이터 분석 (PCCE 기출문제 10번) (1) | 2025.01.30 |
[Lv.1 / 프로그래머스 / 파이썬] 동영상 재생기 (PCCP 기출문제 1번) (1) | 2024.12.18 |
[Lv.1 / 프로그래머스 / 파이썬] 카드 뭉치 (0) | 2024.08.30 |
[Lv.1 / 프로그래머스 / 파이썬] 둘만의 암호 (0) | 2024.07.09 |