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 |
Tags
- Arduino
- 컴퓨터 그래픽스
- 아두이노
- WinAPI
- 아두이노 컴파일러
- Stack
- 시스템프로그래밍
- Deque
- Visual Micro
- 통계학
- vector
- Array
- html
- directx
- C언어
- list
- 수광 소자
- arduino compiler
- priority_queue
- Algorithm
- queue
- 자료구조
- map
- set
- 라인트레이서
- 운영체제
- LineTracer
- c++
- 아두이노 소스
- stl
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 |