[코딩테스트/Python] 프로그래머스 코딩테스트 - 운송 트럭

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

문제 설명
XX 회사는 트럭을 이용해 상품을 운반합니다. 트럭은 최대 무게가 한정되어있습니다. 직원은 트럭에 상품을 순서대로 실으며, 상품을 실을 수 없는 트럭은 바로 목적지로 출발합니다. 이때 우리는 모든 상품을 운반하는데 필요한 트럭은 최소 몇 대인지 구하려 합니다.

예를 들어, 각 상품의 스펙이 다음과 같고, 트럭의 허용 무게가 300, 실어야 할 상품이 ["toy", "snack", "snack"]라고 합니다.

상품 이름 무게
toy 70
snack 200
이 경우 첫째 상품과 둘째 상품은 같은 트럭에 들어가지만, 셋째 상품은 다른 트럭에 넣어야 합니다. 따라서 필요한 트럭 수는 두 대 입니다.

상품 누적 무게 새 트럭
toy 70 불필요
snack 270 불필요
snack 200 필요
트럭의 허용 무게 max_weight와 상품의 스펙을 담은 배열 specs, 운반할 상품의 이름이 순서대로 들은 배열 names가 주어집니다. 이때, 상품을 순서대로 운반하기 위해 필요한 트럭 수를 리턴하는 함수, soution을 완성하세요.

제한 조건
max_weight는 1 이상 100,000 이하입니다.
specs의 길이는 1 이상 100,000 이하입니다.
specs의 원소는 [상품 이름, 상품 무게]를 나타냅니다.
상품 이름은 길이가 1 이상 10,000 이하인 문자열입니다.
상품 무게는 1 이상 max_weight 이하인 자연수를 나타내는 문자열입니다.
이름이 같은 상품은 없습니다.
names는 길이가 1 이상 10,000 이하인 배열입니다.
names의 원소는 모두 specs에 있는 상품입니다.

 

입출력 예

 

문제 풀이

def solution(max_weight, specs, names):
    d = dict(specs) # 무게 정보 딕셔너리화
    w = 0
    t = 1
    for n in names:
        if w + int(d.get(n)) > max_weight: # 새로 실을 물품을 실을 경우 최대 허용 무게 초과 시
            w = 0
            t += 1 # 필요 트럭 수 1대 추가
        w += int(d.get(n))
        
    return t

 

728x90

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

[코딩테스트/Python] 프로그래머스 코딩테스트 - 주사위 게임 3  (0) 2024.10.02
[코딩테스트/Python] 프로그래머스 코딩테스트 - 사탕 담기  (0) 2024.09.30
[코딩테스트/Python] 프로그래머스 코딩테스트 - 나머지 한 점  (1) 2024.09.30
[코딩테스트/Python] 프로그래머스 코딩테스트 - 최솟값 만들기  (0) 2024.09.30
[코딩테스트/Python] 프로그래머스 코딩테스트 - 기능 개발  (0) 2024.09.30
'Minding's Programming/프로그래머스 코딩테스트' 카테고리의 다른 글
  • [코딩테스트/Python] 프로그래머스 코딩테스트 - 주사위 게임 3
  • [코딩테스트/Python] 프로그래머스 코딩테스트 - 사탕 담기
  • [코딩테스트/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
  • 링크

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바