Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- priority_queue
- vector
- Arduino
- c++
- 수광 소자
- map
- 운영체제
- list
- 아두이노 소스
- Visual Micro
- arduino compiler
- 통계학
- WinAPI
- 컴퓨터 그래픽스
- set
- C언어
- 아두이노
- 자료구조
- 아두이노 컴파일러
- Array
- queue
- Algorithm
- html
- directx
- stl
- 라인트레이서
- LineTracer
- Deque
- Stack
- 시스템프로그래밍
Archives
- Today
- Total
Kim's Programming
2063. 중간값 찾기 본문
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; }
'SW ExpertAcademy > D1' 카테고리의 다른 글
2070. 큰 놈, 작은 놈, 같은 놈 (0) | 2018.11.30 |
---|---|
2068. 최대수 구하기 (0) | 2018.11.30 |
2058. 자릿수 더하기 (0) | 2018.11.30 |
2056. 연월일 달력 (0) | 2018.11.30 |
2050. 알파벳을 숫자로 변환 (0) | 2018.11.30 |