[코딩테스트/Python] 프로그래머스 코딩테스트 - 사탕 담기

2024. 9. 30. 18:34·Minding's Programming/프로그래머스 코딩테스트
728x90
반응형

문제 설명
m 그램(gram)을 담을 수 있는 가방에 사탕을 가득 채우는 경우의 수를 구하려 합니다. 단, 같은 사탕은 또 넣을 수 없습니다.

가방이 감당할 수 있는 무게 m, 사탕별 무게가 담긴 배열 weights가 매개변수로 주어질 때, 가방을 정확히 m 그램으로 채우는 경우의 수를 return 하는 solution 함수를 작성해주세요.

제한 조건
m은 1,000 이상 100,000 이하인 자연수입니다.
모든 사탕의 무게는 10 이상 100,000 이하인 자연수입니다.
weights의 길이는 3 이상 15 이하입니다.


입출력 예

 

문제 풀이

# itertools의 combinations 이용 (파이썬 기본 라이브러리)
from itertools import combinations

def solution(m, weights):
    answer = 0
    
    for i in range(1, len(weights)):
        for c in list(combinations(weights, i)): # i(갯수) 별 모든 조합을 생성
            if sum(c) == m: # 조합의 합 중 m(감당 무게)와 같은 값이 있을 경우 count 1 추가
                answer += 1
    return answer

경우의 수 문제이기 때문에 파이썬 표준 라이브러리인 itertools의 combinations(조합)을 이용했다. 해당 리스트의 크기 별 조합을 모두 구해 기준 무게인 m과 조합의 합이 같은 경우에만 카운트 하도록 했다.

728x90

'Minding's Programming > 프로그래머스 코딩테스트' 카테고리의 다른 글

[코딩테스트/Python] 프로그래머스 코딩테스트 - 문자열 압축  (0) 2024.10.04
[코딩테스트/Python] 프로그래머스 코딩테스트 - 주사위 게임 3  (0) 2024.10.02
[코딩테스트/Python] 프로그래머스 코딩테스트 - 운송 트럭  (1) 2024.09.30
[코딩테스트/Python] 프로그래머스 코딩테스트 - 나머지 한 점  (1) 2024.09.30
[코딩테스트/Python] 프로그래머스 코딩테스트 - 최솟값 만들기  (0) 2024.09.30
'Minding's Programming/프로그래머스 코딩테스트' 카테고리의 다른 글
  • [코딩테스트/Python] 프로그래머스 코딩테스트 - 문자열 압축
  • [코딩테스트/Python] 프로그래머스 코딩테스트 - 주사위 게임 3
  • [코딩테스트/Python] 프로그래머스 코딩테스트 - 운송 트럭
  • [코딩테스트/Python] 프로그래머스 코딩테스트 - 나머지 한 점
Minding
Minding
  • Minding
    Today's Minding
    Minding
  • 전체
    오늘
    어제
    • 울고넘는 딥러닝 (278)
      • Minding's Baseball (57)
        • MLB Statcast (29)
        • 머신러닝으로 홈런왕 예측하기 (3)
        • 야구칼럼 (12)
        • 야구 규칙, 용어 (1)
        • 2022-23 질롱 코리아 (8)
        • 류현진 등판경기 (4)
      • Minding's Programming (185)
        • 프로그래머스 코딩테스트 (21)
        • Knowledge (44)
        • Numpy & Pandas (6)
        • Excel (3)
        • Git (1)
        • Pygame (11)
        • CV (3)
        • Tensorflow tutorial (4)
        • Kaggle and Dacon (4)
        • 에러 코드 (8)
        • FastAPI (8)
        • Airflow (29)
        • Crawling (6)
        • Django (14)
        • AWS (18)
        • Spark (5)
      • Minding's Reading (30)
        • 머신러닝 딥러닝에 필요한 기초 수학 with 파이.. (2)
        • 칼만필터는 어렵지 않아 (11)
        • 밑바닥부터 시작하는 딥러닝 (6)
        • 메이저리그 야구 통계학 2e (8)
        • 논문읽기 (2)
        • 빅데이터를 지탱하는 기술 (1)
      • Minding's Life (5)
        • 주식 (4)
        • 각종 소식 (1)
  • 블로그 메뉴

    • 홈
    • Baseball
    • Programming
    • Reading
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    질롱코리아
    KBO
    FastAPI
    django python
    AWS
    파이게임
    딥러닝
    pygame
    파이썬
    mlb stats api
    칼만필터는어렵지않아파이썬
    에어플로우
    Python
    MLB
    프로그래머스
    칼만필터는어렵지않아
    데이터 엔지니어
    야구
    머신러닝
    게임개발
    넘파이
    파이썬게임개발
    코딩테스트
    메이저리그
    KalmanFilter
    Airflow
    칼만필터
    django
    칼만필터는어렵지않아python
    데이터분석
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Minding
[코딩테스트/Python] 프로그래머스 코딩테스트 - 사탕 담기
상단으로

티스토리툴바