본문 바로가기
알고리즘 문제풀이/소프티어

[소프티어 Lv3] 택배 마스터 광우(완전탐색)

by summer_light 2023. 11. 2.

[소프티어 Lv3] 택배 마스터 광우

 

https://softeer.ai/practice/6273

 

Softeer - 현대자동차그룹 SW인재확보플랫폼

여름 휴가를 떠나기 위해 용돈이 필요했던 광우는 H택배 상하차 아르바이트를 지원 했다. 광우는 평소에 운동을 하지않아 힘쓰는 데에 자신이 없었지만, 머리 하나 만큼은 비상해 택배가 내려오

softeer.ai


[내 풀이]

- from itertools import permutations 

- n이 작기 때문에 모든 경우의 수에 대하여 계산했다. 

# 완전 탐색 
import sys
from itertools import permutations

n, m, k = map(int, input().split())
rails = list(map(int, input().split()))

minV = m * k
for rail in permutations(rails, n):
    cnt = 0
    V = 0
    baguni = 0
    i = 0
    while cnt < k:
        if i == n:
            i = 0
        if baguni + rail[i] > m:
            V += baguni
            baguni = 0
            cnt += 1
            continue
        baguni += rail[i]
        i += 1
    if minV > V: minV = V
print(minV)

 

 

 

 

댓글