백준 18429. 근손실 (Python)

하얀족제비·2021년 6월 19일
0

백준

목록 보기
4/18
post-thumbnail

문제

데이터가 주어질 때 3대 중량이 500 밑으로 내려가지 않게 적절하게 키트 사용하기!
(자세한 문제는 백준 참고)

접근방법

itertools의 permutations를 사용하여 해결했다.
각 키트의 순열을 뽑아서 각 경우마다 중량 변화를 탐색하고 문제에서 주어진 경우에 해당하는 것만 카운트 해줬다.

코드

import itertools

N, K = map(int,input().split())
nums = list(map(int,input().split()))


cnt = 0
for kit in list(itertools.permutations((nums))):
    samdae = 500
    # 각 순열을 순회하며 3대 계산
    for k in kit:
        samdae = samdae - K + k
        # 순회하면서 한번이라도 500밑으로 내려가면 break
        if samdae < 500:
            break
    if samdae > 500:
        cnt += 1

print(cnt)
profile
안녕하세요~ 개발을 꿈꾸는 하얀족제비입니다!

1개의 댓글

comment-user-thumbnail
2021년 6월 26일

samdae = 500 ㅋㅋㅋㅋㅋ

답글 달기