새소식

코딩테스트/백준_실버

[C++][백준 24498] blobnom

  • -

[문제]

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

 

24498번: blobnom

블롭들은 심심해서 서로를 이용해 $N$개의 탑을 만들었다. 각 탑의 높이는 그 탑에 있는 블롭의 수와 같다. 여러분은 다음 행동을 $0$회 이상 할 수 있다. 처음과 마지막이 아닌 탑 중 하나를 선

www.acmicpc.net

[문제 풀이]

탑의 순서인 2부터 n-1의 위치까지 양쪽에 위치한 숫자중 적은 값을 더한 값이 저장되어 있는 벡터를 만들어주자.

*주의사항 : 탑의 시작 지점 혹은 마지막 지점이 가장 높을 수도 있다. 

[코드]

#include<iostream>
#include<vector>
#include<algorithm>

using namespace std;

int main(){
    int n;
    cin>>n;
    vector<long long> blob(n);
    for(int i = 0;i<n;i++){
        cin>>blob[i];
    }

    vector<long long> tower(n);
    tower[0] = blob[0];
    tower[n-1] = blob[n-1];

    for(int i = 1;i<n-1;i++){
        tower[i] = blob[i] + min(blob[i-1],blob[i+1]);
    }

    cout<<*max_element(tower.begin(),tower.end())<<endl;

    return 0;
}

 

'코딩테스트 > 백준_실버' 카테고리의 다른 글

[C++][백준 1874] 스택 수열  (0) 2022.10.03
[C++][백준 16953] A → B  (0) 2022.09.26
[C++][백준 14501] 퇴사  (0) 2022.09.23
[C++][백준 2630] 색종이 만들기  (0) 2022.09.14
[C++][백준 10816] 숫자 카드 2  (0) 2022.09.07
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.