(반드시 재풀이해야)2885 초콜릿 식사.

·2026년 3월 18일

백준 알고리즘

목록 보기
338/343

문제 해결 전략

  • 일단 초콜릿은 2의 배수이다.

  • 초콜릿을 반으로 쪼개가면서 k개를 만드는 것이다.

-> 어떻게 접근할지 몰라서 일단 초콜릿을 쪼개보았따.

  • 그림
    : 문제의 예시를 가지고 정책을 가지고 접근해보자.
    어차피 초콜릿 막대기는 2의 배수이므로, 이렇게 작성했다.
  • 1) 16크기의 막대기로도 만들 수 있지만, 6개의 정사각형 만드는 거는 8크기의 막대기 사용하는 것이 cnt 에서 최소로 사용하고 있다.

  • -> 왜 그런지 생각해보면 8크기의 막대기가 16크기의 막대기가 좀 더 세분화를 이루고,세분화된 초콜릿들을 합해서 만들 수 있는 경우의 수가 훨씬 촘촘해 진다.

  • 아래의 그림을 보면, 이미 8은 1이 이미 2개 있다.
    그런데도 16은 아직 세분화된 초콜릿들의 value도 크다.

  • 2) 그리고 추가적으로 k보다 작은 2의 배수 막대기로는 만들 수 없는 것을 확인할 수 있다.
    : 6정사각형 만드는데 4크기의 막대기로는 불가하다.
profile
🔥🔥🔥

0개의 댓글