[코딩테스트/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
  • 링크

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.