1주차 · 파트 02 Lv2. 사탕 담기

BERT·2023년 3월 17일
0

KDT_CodingTest

목록 보기
1/3

Lv2. 사탕 담기

  • 감당 무게 m
  • 사탕별 무게가 담긴 배열 weights
mweightsreturn
3000[500, 1500, 2500, 1000, 2000]3

계획

  1. 경우의 수 -> combinations 사용
  2. 각 경우의 합을 구한 후 배열에 저장
  3. 배열에서 m과 같은 원소의 갯수 파악 후 answer에 추가
from itertools import combinations

def solution(m, weights):
    answer = 0
    for i in range(1,len(weights)):
        cases = combinations(weights, i)
        answer+=[sum(case) for case in cases].count(m)  
    return answer

코드 단순화

from itertools import combinations

def solution(m, weights):
    answer = 0
    answer+=[sum(case) for i in range(1,len(weights)) for case in combinations(weights, i)].count(m)
    return answer

0개의 댓글