🔓알고리즘/수학
여러개의 최댓값,최솟값 찾기 C++
개발환경 >> DevCpp
언어 >> C++11 WinAPI
운영체제 >> Windows10
안녕하세요!!!
이번에는 심심해서
vector에 저장된값에서
여러개의 최댓값과 최솟값을 동시에 찾는 알고리즘을 만들어봤습니다~~~
<< 여러개의 최댓값, 최솟값 찾기 >>
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
typedef pair<double,double> pii;
int main(){
vector<pii>ans;
vector<double>db;
double d;
int n,j,s;
cin >> n >> s; //원소갯수,구할 최댓값 최솟값의 갯수
if(s*2>n) return 0;
for(j=0;j<n;j++){
cin >> d;
db.push_back(d);
}
for(j=0;j<s;j++){
auto a = minmax_element(db.begin(),db.end());
ans.push_back(pii(*a.first,*a.second)); //최댓값과 최솟값 넣기
db.erase(a.first);
if(a.first<a.second) db.erase(a.second-1); //찾은최솟값이 최댓값보다 배열상에서 앞에있을경우
else db.erase(a.second); //찾은최솟값이 최댓값보다 배열상에서 뒤에있을경우
}
cout << endl;
for(j=0;j<ans.size();j++) cout << ans[j].first << " " << ans[j].second << endl;
}
궁금한 부분이 있다면 댓글로 질문주세요!!
감사합니다!!~~
'🔓알고리즘 > 수학' 카테고리의 다른 글
행렬곱셈 이론및 실습 c++ (0) | 2021.10.09 |
---|---|
삼각형 내부에 존재하는지 점인지 확인하는법 c++ (0) | 2021.08.20 |
제곱, 제곱근 구현하기 (0) | 2021.08.13 |
나눗셈 연산속도 최적화 C++ (0) | 2021.08.02 |
C++ 피아노 연주 (0) | 2020.09.26 |
댓글