728x90
반응형
https://www.acmicpc.net/problem/2587
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#include <iostream>
#include<algorithm>
using namespace std;
int main() {
int arr[5];
int sum = 0;
int mid = 0;
for (int i = 0; i < 5; i++) {
cin >> arr[i];
sum += arr[i];
}
//정렬
//첫번째 인자= 배열의 포인터 (arr ==&arr[0])
//두번째 인자= 배열의 포인터 +배열의 크기
sort(arr, arr + 5);
mid = arr[2];
cout << sum / 5 << endl;
cout << mid << endl;
|
cs |
이 문제는 C++에서 정렬 알고리즘을 알아가는데 의의가 있는 것 같다. 배열을 오름차순 정렬할때
직접구현하는 방법도 있지만 상단에 #include <algorithm> 쓰면 이 헤더 안에 있는 sort()함수를 사용할
수 있다. sort함수는 C++ STL에서 제공하는 함수이며, 시간 복잡도는 nlogn이다.
사용법은 sort(배열의 포인터,배열의 포인터+배열의 크기)
즉 여기서는 sort(arr,arr+10)으로 쓰면 된다. 배열의 이름은 포인터와 같은 역할을 하기 때문이다.
arr==&arr[0]이라는 것은 익히 알고 있는 사실이고, 이 첫번째 주소가 배열을 대표하는 주소이기도 하다.
참고자료
https://coding-factory.tistory.com/595
728x90
반응형
'C++ > 백준' 카테고리의 다른 글
[C++백준] 실버 4/ 2108번 통계학 (0) | 2022.02.02 |
---|---|
[C++백준] 실버 5/ 7568번 덩치 (0) | 2022.02.01 |
[java 백준] 실버 3/ 11659번 구간 합 구하기 (0) | 2022.01.31 |
[C++ 백준]실버 5/ 1037번 약수 (0) | 2022.01.30 |
[C++백준] 실버 5/ 11170 0 의 개수 (0) | 2022.01.23 |
댓글