[백준/C++] 12845번 모두의마블
1.문제 링크
2. 풀이 전 계획과 생각
- 그리디
3. 풀이
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main(){
int n;
cin>>n;
// 입력
vector<int> cards(n);
for(int i=0;i<n;i++) cin>>cards[i];
// 내림차순 정렬
sort(cards.begin(), cards.end(), greater<int>());
int gold=0;
for(int i=1;i<n;i++){
gold += cards[0]+cards[i]; // 가장 레벨이 큰 카드는 계속 유지되게 됨.
}
// 답 출력
cout<<gold;
}
업그레이드 된 카드 A의 레벨은 변하지 않는다. 라는 조건이 있으므로 내림차순으로 정렬 후 0번째 인덱스의 카드는 계속 남아있게 되있다.
4. 풀이하면서 고민했던 점