
배열을 입력받고 최댓값과 그 값이 몇 번째 수인지 출력하면 된다.
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;
}
'코딩테스트 > 백준' 카테고리의 다른 글
[백준][C++]1546번. 평균 (0) | 2025.03.06 |
---|---|
[백준][C++]10811번. 바구니 뒤집기 (0) | 2025.03.06 |
[백준][C++]10818번. 최소, 최대 (0) | 2025.03.06 |
[백준][C++][LIS,DP]11054번. 가장 긴 바이토닉 부분 수열 (0) | 2025.02.14 |
[백준][C++][DP]2156번. 포도주 시식 (0) | 2025.02.13 |