배열을 입력받고 최댓값과 그 값이 몇 번째 수인지 출력하면 된다.

max_element함수를 통해 최댓값을 출력해주고

이 함수에서 v.begin()을 빼주는 것으로 index도 알아내자. 이때 index로 나오기 때문에 +1을 해주어야한다.

 

이렇게 되는 이유는

vector는 일련의 반복자로 구성되어 있으므로 최대값을 가리키는 반복자를 맨 처음을 가리키는 v.begin()만큼 빼준다면 인덱스 값을 구할 수 있다.

 

정답코드

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

using namespace std;

int main()
{
    vector<int> v(9);
    for (int i = 0;i < 9;i++)
    {
        cin >> v[i];
    }

    cout << *max_element(v.begin(), v.end()) <<"\n" << max_element(v.begin(), v.end()) - v.begin() + 1;

    return 0;
}

+ Recent posts