본문 바로가기
Algorithm/Baekjoon

[백준/BOJ] 2846번 - 오르막길 (C++)

by shine-jung 2021. 7. 24.
반응형

문제 링크

 

코딩하기 전 생각하기

/*
오르막길 벡터를 선언하자.
max 변수를 선언하자.
n을 입력받고 n만큼 반복한다.
    p를 입력받는다.
    이전 수보다 더 크지 않은 p가 오면
        지금까지 오르막길의 크기를 구하고
        크기가 max보다 크면 max에 크기를 저장한다.
        오르막길 벡터를 초기화 한다.
    p를 벡터에 추가한다.
max를 출력한다.
*/

 


 

코드

#include <iostream>
#include <bits/stdc++.h>
using namespace std;

int main() {
    vector<int> up;
    int d, max = 0;
    int n, p;
    cin >> n;
    for ( int i = 0; i < n; i++ ) {
        cin >> p;
        if ( i > 0 && up[up.size()-1] >= p ) {
            d = up[up.size()-1] - up[0];
            if ( d > max ) max = d;
            up.clear();
        }
        up.push_back(p);
    }
    d = up[up.size()-1] - up[0];
    if ( d > max ) max = d;
    cout << max;
}

 


 

느낀점

 

예제가 많이 주어져 있어서 좋았다.

 

(주의) 기록용으로 작성한 글입니다. 코드가 허접하거나 알고리즘의 효율이 낮을 수 있습니다.

댓글 환영합니다!

반응형

댓글