SW ExpertAcademy/D1
2063. 중간값 찾기
Programmer.
2018. 11. 30. 22:10
2063. 중간값 찾기
풀이 방법
보통은 std::sort를 활용하여 정렬을 하지만 qsort를 활용하여 풀어보았다.
<코드>
#include <iostream> #include <stdlib.h> int compare(const void *a, const void *b) // 오름차순 비교 함수 구현 { int num1 = *(int *)a; // void 포인터를 int 포인터로 변환한 뒤 역참조하여 값을 가져옴 int num2 = *(int *)b; // void 포인터를 int 포인터로 변환한 뒤 역참조하여 값을 가져옴 if (num1 < num2) // a가 b보다 작을 때는 return -1; // -1 반환 if (num1 > num2) // a가 b보다 클 때는 return 1; // 1 반환 return 0; // a와 b가 같을 때는 0 반환 } int main() { int input {0}; std::cin>>input; int* dataArray = new int[input]; for(int i=0;i<input;i++) std::cin>>dataArray[i]; qsort(dataArray, input, sizeof(int), compare); std::cout<<dataArray[input/2]<<"\n"; for(int i=0;i<input;i++) std::cout<<dataArray[i]<< ' '; delete[] dataArray; return 0; }