프로그래머스__[문제풀이: lv2. 사탕담기]

Jaewon Lee·2021년 8월 13일
0

Algorithm

목록 보기
30/36
post-thumbnail

On.


Algorithm


1. 수도코드

0) 문제 유형 파악: 완전 탐색 문제

1) weights의 길이만큼 i번 반복 (for문)

2) weights에서 i+1개의 조합을 생성

3) 각각의 조합의 합을 구함

4) 합이 가방의 무게 m과 일치하는 것만 필터한다.

5) 필터된 리스트의 길이(가방을 채울수 있는 경우의 수)를 answer에 더한다.

6) 반복이 끝나면 answer를 리턴!


2. 구현코드

from itertools import combinations

def solution(m, weights):
    answer = 0
    for i in range(len(weights)):
        answer += len(list(filter(lambda x: x == m, map(sum, combinations(weights, i + 1)))))
    
    return answer


Off.


프론트와 백을 넘나드는 리드 개발자가 되는 그날까지 🔥🔥🔥

profile
Communication : any

0개의 댓글