이진탐색 저기 있는 조건대로 다 했는데 자꾸 wrong answer이라고 튕기네 좆파고 쉑 ㅅㅄㅄㅄㅂ


#include

#define SIZE 16

int binary_search(int list[], int n, int key);

int main()
{
   int grade[SIZE] = {2,6,11,13,18,20,22,27,29,30,34,38,41,42,45,47};
   int input;

   printf("입력 데이터 ");
   scanf("%d", &input);

   printf("출력 데이터\n");
   printf("%d", binary_search(grade, SIZE, input));

   return;
}

int binary_search(int list[], int n, int key)
{
   int start = 0;
   int end = n - 1;
   int center = 0;

   while (start <= end)
   {
      printf("[%d %d]\n", start, end);

      center = (start + end) / 2;

      if (list[center] == key)
      {
         return center;
      }

      if (list[center] > key)
      {
         end = center - 1;
      }
      else
      {
         start = center + 1;
      }
   }

   return -1;
}


이게 코딩한건데 알고리즘에 잘못된게 진짜 있어보임...? 오늘까지 제출인데 미치겠다 진짜