• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

43번)뮤직비디오(이분검색 응용) 관련 질문있습니다!

22.02.02 21:37 작성 조회수 194

0

강사님께서 보여주신 코드를 보면,

 main함수속의 while문에서, 

if(Count(mid)<=m) {

      res = mid;

      rt  = mid - 1;

}

else

      lt  = mid + 1;

이렇게 코드를 구현하셨는데요,

제가 여기서 궁금한 점은, 

Count(mid)<=m 조건을 만족할때마다, res = mid; 이렇게 DVD의 용량 값을 업데이트를 해주고 있는데요, 저는 

Count(mid)==m 이렇게 작을경우는 말고, 오직 같을때만 업데이트를 해줘야한다고 생각하는데, 왜 강사님께서는 

사용자가 m개의 DVD를 사용하고 싶다고 했으면, 딱 m개일때만 DVD의 용량을 업데이트를 하지 않고, m보다 더 작은 개수가 나왔을때도, res = mid; 이렇게 DVD의 크기를 업데이트 해주는지 궁금합니다!

답변해주시면 감사하겠습니다!

 

답변 1

답변을 작성해보세요.

0

임뿌임님의 프로필

임뿌임

2022.02.04

테스트케이스 중에 꼭 M개를 사용하지 않는 경우가 있어서 그런 것 같아요!

SEO님께서 말씀하신대로 count(mid)==m 같은 경우로만 한다면 in1 케이스가 wrong_answer이 납니다.

 

in1 은

n = 5, m = 4

1 1 1 1 1 이어서 정답이 2인데요,  (1) (1) (1) (1 1) 이렇게 4개를 할 수도 있지만

Count함수 쓰면 (1 1)(1 1) (1) 이렇게 3을 리턴할 것이라 

이것과 비슷한 경우를 대비하기 위해서 그렇게 된 것 같아요~

SEO님의 프로필

SEO

질문자

2022.02.04

친절하고 자세한 답변 감사합니다!

만약에 그러면, m=4라고 지정을 해줬는데,

Count함수결과 계속 4를 만족하는 결과가 하나도 나오지 않을 경우에는 어떻게되는건가요??