문)

            5개의 int 배열에서 첫번째 중복 수가 발생한 경우의 첫번째 값과 인덱스를 반환한다.(가정. 중복수의 발생은 무조건 있다)

            C/C++을 활용하여 작성.



사용 예)

             int a[5] = {1,2,3,4,3};

             int b, result;

             result = rtnValIndex(a, &b);

             printf("index = %d, result = %d ", b, result);


출력 예)

             index = 2, result = 3


O(n²) 구현)

int rtnValIndex(int* a, int* b){

int i, j, check = 0;
for(i=0; i<5; i++){

if(check != 0)
   break;
for(j=i+1; j<5; j++){
       if(a[i] == a[j]){
            *b = i;
            check = 1;
            break;
      }
}

}
 return a[*b];

}


--------------------------------------------------------------------------------

인데.. O(n)으로 변형하고싶은데 가능할까?? 혼자 생각중인데 아무리생각해도 힘드네..


좀 도와주라 ㅠㅠ