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

이선용님의 프로필 이미지
이선용

작성한 질문수

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

6-G

6-G 조건체크에서 질문이있습니다

작성

·

163

0

http://boj.kr/3aa1410045524133b6e2b5ea6da1bcce
현재 해당코드를 통해서 정답은 맞췄는데 제가생각했던건 MID-1, MID+1로 조건탐색을하고 left <= right 조건을 통해서 left가 조건탐색이 끝났을때 기준으로 left가 정답이라고 생각하고 이때 left가 max조건을 넘겨버리면 체크하는걸로 해결했는데 설명코드에서 mid를 ret으로 체크되는부분이 잘 이해가가지않아 질문을남깁니다 항상감사합니다

답변 1

0

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

안녕하세요 선용님

일단 mid는 추가되는 경우의 수입니다.

mid라는 경우의 수를 추가했을 때 승률이 변해야 합니다.

여기서 100만을 했을 때 만약 승률이 변하면 범위축소를 하기 위해서 hi = mid -1을 통해 왼쪽으로 옮깁니다. (범위를)

그런 과정을 반복하며

ret = mid를 통해

최적해를 ret에 담는 것입니다.


 


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

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

감사합니다.

강사 큰돌 올림.

이선용님의 프로필 이미지
이선용

작성한 질문수

질문하기