백준풀기

[c++] 백준 2562번 최댓값

해언뵤 2024. 1. 26. 11:14

문제

9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오.
예를 들어, 서로 다른 9개의 자연수
3, 29, 38, 12, 57, 74, 40, 85, 61
이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다.

 

입력

첫째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100 보다 작다.

 

출력

첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 몇 번째 수인지를 출력한다.

 

 

문제풀이

주어지는 수는 자연수이기 때문에 0보다 클 것이다. 그러므로 최댓값을 담을 ans를 0으로 선언해주고 for문안에서 들어오는 자연수와 비교하여 최댓값을 갱신해준다. 또한 인덱스값도 출력해야하기 때문에 for문의 범위를 0부터 지정해주고 ans가 갱신되면 인덱스값도 갱신해준다.
#include <iostream>
#include <algorithm>

using namespace std;

int main(){

    int n,ans=0, index;

    for (int i = 0; i < 9; i++){

        cin >> n;
        if (n > ans) {
            ans = n;
            index = i+1;
        }
    }
    cout << ans << '\n' << index;
}