본문 바로가기
코딩테스트/[백준]단계별로풀어보기(C++)

[백준][1차원배열] 2526번 : 최댓값 (C++)

by 오리로스 2024. 3. 26.

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

 

2562번: 최댓값

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

www.acmicpc.net

풀이
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main(){
    vector<int> vec(9);
    for (int i{0};i<9;++i) cin >> vec[i];
    cout << *max_element(vec.begin(),vec.end()) << "\n";
    cout << max_element(vec.begin(),vec.end())-vec.begin()+1 << "\n";
    return 0;
}

 

벡터에다 알고리즘만 사용하면 아아주 간단히 풀린다. 파이썬에서는 엄청나게 쉬워 그냥 한줄로 쓰고 넘어가는 문제인데, C++에서 벡터 안쓰고 배열로 풀려고 하면 어려운건 아니지만 시간낭비라고 생각한다...이런 쉬운거 풀 때 STL 많이 쓰고 활용해봐야 복잡한 문제 풀때 도구가 떠오른다.