예외처리 때문 입니다! 길이가 1일때 ar[(arraylen/2)+(arraylen%2)]; 이 아니라 해당 숫자를 반환 해주셔아 합니다!
아래 조건만 달아주시면 무사 통과 됩니다!
answer = arraylen != 1 ? ar[(arraylen/2)+(array_len%2)] : ar[0];
//include
//include
//include
// arraylen은 배열 array의 길이입니다.
int solution(int array[], sizet arraylen) {
int answer = 0;
for(int i=0; i
int minidx = i;
for(int j=i+1; j array[j]){
minidx = j;
}
}
int temp = array[minidx];
array[minidx] = array[i];
array[i] = temp;
}
if(array_len % 2 == 0){
answer = array[array_len / 2 - 1];
}else{
answer = array[array_len / 2];
}
printf("%d\n", answer);
return answer;
}
int main(void) {
int arr[5] = {1, 2, 7, 10, 11};
int result = solution(arr, 5);
printf("중간 인덱스: %d\n", result);
return 0;
}
예시코드입니다.