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

sangwoo8221님의 프로필 이미지
sangwoo8221

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

6주차 개념 #1. 이분탐색(Binary Search)

2792번 보석상자 질문있습니다!

작성

·

157

0

안녕하세요, 선생님 ! 2792번 선생님 코드에 질문이 있어 질문 남깁니다.

check()에서 return n>=num이 약간 이해가 안됩니다.

처음 저는 n>num이라고 생각했었습니다. n=num이 될 떄의 값이 최적해 겠구나 생각했었습니다.

아니면 혹은 n>num일 떄도 정답이 될 수 있어서 그런 것 일까요?!?

답변 1

0

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 상우님ㅎㅎ

        if(check(mid)){ 
            ret = min(ret, mid); 
            hi = mid - 1;

이부분 말씀하시는거죠?

n > num일 때도 정답이 될 수 있고 && 해당 경우에는 hi = mid - 1를 통해 범위를 줄여야 하기 때문에 그렇습니다.

일단은. 질투심이라는 조건을 만족하는데 + 너무 크니까 좀 더 줄이면서 최적해를 찾아보자. 라고 생각하시면 됩니다.




또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.

sangwoo8221님의 프로필 이미지
sangwoo8221

작성한 질문수

질문하기