백준알고리즘 - 2562 최댓값 <브론즈 3>

2020. 5. 1. 10:11알고리즘_생각하기/백준 알고리즘 브론즈

문제

9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오.

예를 들어, 서로 다른 9개의 자연수

3, 29, 38, 12, 57, 74, 40, 85, 61

이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다.

입력

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

출력

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

 

풀이

사용 언어 : C++

 

#include  <iostream>
#include  <vector>

int main()
{
         int idx = 0;
         int max = 0;
         std::vector<int> num; //아직 아무것도 넣지 않았으므로 empty상태

         for (int i = 0; i < 9; i++)
         {
                  int n;
                  std::cin >> n; //숫자를 하나 넣는다
                  num.push_back(n); //벡터에다가

                  if (i == 0)
                  {
                              max = num[i]; //0번째에 숫자가 하나 들어와서, 비교할 것이 없으므로 그대로 최대값은 0번째

                                                   숫자가 된다
                  }

                  if (num[i] >= max) //큰 것만 비교한다면 같을 때는 그 조건에 부합하지 않으므로 같다는 조건도 넣어준

                                             다 
                  {
                              max = num[i]; //max를 교체
                              idx = num.size(); //인덱스(end)를 읽는다
                   }

          }

           printf("%d\n%d", max, idx);
}