강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

남기정님의 프로필 이미지
남기정

작성한 질문수

38군데 합격 비법, 2025 코딩테스트 필수 알고리즘

4-9. 4주차 끝 & 숙제 설명

4-9 4주차 숙제중 농심라면 문제

작성

·

27

0

현재 노션에 있는 코드대로 써 보았습니다

def get_minimum_count_of_overseas_supply(stock, dates, supplies, k):
    answer = 0
    last_added_date_index = 0
    max_heap = []
    while stock < k :
            #후보군이 되어야하는 것들만 넣는다 => 공장이 멈추기 전까지
            while last_added_date_index < len(dates) and dates[last_added_date_index] <= stock:
                heapq.heappush(max_heap, supplies[last_added_date_index] * -1)
                last_added_date_index += 1

            supply = heapq.heappop(max_heap) * -1
            stock += supply
            answer += 1

    return answer

하지만 9번 테스트 케이스(마지막 날에 공급받는 경우)에서 정답은 2인데, 현재 풀이 값은 1로 나옵니다.

# 9. 마지막 날에 공급받는 경우
print("정답 = 2 / 현재 풀이 값 =", get_minimum_count_of_overseas_supply(10, [10, 29], [20, 100], 30))

노션을 확인해보았지만 코드는 같습니다.

뭔가 놓치신게 있는거 같습니다. 어떻게 수정하면 될까요?

답변 1

0

테스트 케이스가 잘못 작성된거 같습니다.
저는 1이 맞다고 생각합니다.

공급 1회차 수행

  • 가장 큰 공급량 20 선택

    → stock = 10 + 20 = 30

    → count = 1

  • 이제 stock = 30 >= k = 30

    → while 종료

     

남기정님의 프로필 이미지
남기정

작성한 질문수

질문하기