반응형

문제 : https://www.acmicpc.net/problem/2562

서론

c++의 max_element를 활용해본 문제

 


아이디어

9개의 수를 벡터에 넣고 최대값은 배열이나 벡터의 최대값을 리턴해주는 max_element를 이용한다. max_element는 최대값의 주소를 리턴하므로 포인터 연산자를 붙인다.

최대값의 번지수는 max_element로 얻어진 최대값의 벡터주소에서 벡터의 시작주소를 빼고 +1 하면 얻을 수 있다.

 

구현

/c++

#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;

vector<int>v;

int main() {
	int n;
	n = 9;
	for (int i = 0; i < n; i++) {
		int tmp;
		cin >> tmp;
		v.push_back(tmp);
	}
	cout << *max_element(v.begin(), v.end()) << " " << max_element(v.begin(), v.end()) - v.begin()+1;
}