묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결홍정모의 따라하며 배우는 C언어 (부록)
이진 탐색: 탐색 실패하는 경우 어째서 first > last인 경우가 나오나요?
17.15강 이진탐색 강의의 13:10부분입니다.이진탐색에서 만약 탐색을 실패하는 경우 어째서 first >last라는 상황이 발생하는지 잘 모르겠습니다.반복문을 반복해야할 상황이(탐색해야할 상황이) first <= last인 상황이라는 것을 알겠지만, first > last가 되는 상황은 어떻게 유도되는지 모르겠습니다.#include <stdio.h> int BSearch(int ar[], int len, int target) { int first = 0; int last = len - 1; int mid; while (first <= last) { mid = (first + last) / 2; if (target == ar[mid]) return mid; else { if (target < ar[mid]) last = mid - 1; else first = mid + 1; } } return -1; } int main(void) { int arr[] = { 1,3,5,6,7,9,11,13,15,19 }; int index; index = BSearch(arr, sizeof(arr) / sizeof(int), 3); if (index == -1) printf("해당값 없음\n"); else printf("타겟의 위치 : %d\n", index); return 0; }
-
미해결코테 출제자가 알려주는 [코딩 테스트 with 파이썬]
이분탐색-1 풀이및정답확인
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. def my_solution_budget(N,n, M): if sum(n) < M: return max(n) else: base = M // N while True: new_n = [] for i in n: if i > base: new_n.append(base) else: new_n.append(i) if sum(new_n) > M: return base - 1 else: base = base + 1test case 로보면 정답이 맞는데, 왜 통과가 안되는걸까요?
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
이진 탐색은 최적화를 위한 알고리즘이라고 볼 수 있나요?
더 좋은 결과를 찾기 위해 탐색하는 알고리즘이 이진 탐색이니 최적화를 위한 알고리즘이라고 할 수 있나요?