반응형
SOLUTION
import sys
from itertools import permutations
def UpandDown(rail):
total = 0
cnt = 0 # 첫번째 레일부터 탐색하기 위해 선언
for i in range(K):
basket = 0
while True:
basket += rail[cnt]
cnt = (cnt+1) % N # 마지막레일에 다다르면 다시 첫번째 레일부터 탐색
if basket + rail[cnt] > M: # 다음 레일에 있는 택배를 담았을때 바구니 무게를 초과하면 break
break
total += basket
return total # K번 횟수를 실행해서 쌓인 total 값 반환
N, M, K = map(int, sys.stdin.readline().split())
w = list(map(int, sys.stdin.readline().split()))
rail_arr = list(permutations(w, N)) # 레일 배치가 가능한 모든 경우의 수 파악
answer = []
# 브루트 포스 알고리즘
for rail in rail_arr:
answer.append(UpandDown(rail))
print(min(answer))
'코딩테스트 대비 > Softeer' 카테고리의 다른 글
[Softeer/Python] 우물 안 개구리 ★★★☆☆ - 효과는 굉장했다! (0) | 2021.11.18 |
---|---|
[Softeer/Python] 성적 평균 ★★★☆☆ - 효과는 굉장했다! (0) | 2021.11.18 |
[Softeer/Python] [21년 재직자 대회 예선] 회의실 예약 ★★☆☆☆ - 효과는 굉장했다! (0) | 2021.11.15 |
[Softeer/Python] [21년 재직자 대회 예선] 전광판 ★★☆☆☆ - 효과는 굉장했다! (0) | 2021.11.09 |
[Softeer/Python] [21년 재직자 대회 예선] 비밀메뉴 ★★☆☆☆ - 효과는 굉장했다! (0) | 2021.11.09 |