본문 바로가기
카테고리 없음

2025 프로그래머스 코드챌린지 2차 예선 > 택배 상자 꺼내기 - Python, 구현

by 아찌방 2025. 2. 15.

 

 

https://school.programmers.co.kr/learn/courses/30/lessons/389478

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

코드 & 풀이

 

def solution(n, w, num):
    boxs = [[] for _ in range(w)]
    box_num = 0
    direction = 1  # 1이면 오른쪽, -1이면 왼쪽

    while box_num < n:
        for idx in range(0, w, direction) if direction == 1 else range(w - 1, -1, -1):
            box_num += 1
            boxs[idx].append(box_num)
            if box_num == n:
                break
        direction *= -1  # 방향 전환

    for values in boxs:
        if num in values:
            return len(values) - values.index(num)
    
    return 0

 

 

어떻게 하면 왔다 갔다 하는 것을 효율적으로 할 수 있을까 고민했다.

 

위의 코드보다 좋은 방식이 있으면

 

추천 부탁드립니다.

 

풀이 과정은 간단합니다.

 

각 열마다 박스를 저장하고

 

그 박스들의 묶음 안에 찾는 박스가 있으면

 

위치를 찾아 반환합니다.

 

 

 

 

다음에 또 봐요

 

728x90