문제링크 : https://www.acmicpc.net/problem/11508
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
const int MAX = INT_MAX;
int N, arr[100001];
int result;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> N;
for(int i=1; i<=N; i++) cin >> arr[i];
sort(arr+1, arr+N+1, greater<>()); //내림차순 정렬
for(int i=1; i<=N; i++)
{
if(!(i%3))continue; //2+1 세일
result+=arr[i];
}
cout << result;
return 0;
}
주어진 입력 값에 대해 내림차순으로 정렬을 해준다.
이후 3의 배수번째 값에 대해 체크를 하고, 해당 값만 스킵하고 나머진 더해준다.
이렇게 더해준 값을 출력해주면 된다.
'백준 > 실버' 카테고리의 다른 글
[백준 10431번] 줄세우기 (C++) (0) | 2024.04.12 |
---|---|
[백준 1758번] 알바생 강호 (C++) (0) | 2024.04.09 |
[백준 1448번] 삼각형 만들기 (C++) (0) | 2024.04.07 |
[백준 20291번] 파일 정리 (C++) (0) | 2024.04.06 |
[백준 1755번] 숫자놀이 (C++) (0) | 2024.04.05 |