반응형

문제 링크: https://www.acmicpc.net/problem/11508

 

11508번: 2+1 세일

KSG 편의점에서는 과일우유, 드링킹요구르트 등의 유제품을 '2+1 세일'하는 행사를 하고 있습니다. KSG 편의점에서 유제품 3개를 한 번에 산다면 그중에서 가장 싼 것은 무료로 지불하고 나머지 두

www.acmicpc.net

<문제 풀이> 그리디 알고리즘

 

최대한 비싼 가격을 무료로 지불해야 하므로 내림차순으로 정렬해서 인덱스를 3으로 나누었을 때 나머지가 2인 가격을 무시하면 됩니다.

 

<C++소스코드>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<iostream>
#include<functional>
#include<algorithm>
using namespace std;
 
int n;
int c[100000];
 
int main() {
    ios_base::sync_with_stdio(false);
    cin >> n;
    for (int i = 0; i < n; i++) {
        cin >> c[i];
    }
    sort(c, c + n, greater<int>());
    long long ans = 0;
    for (int i = 0; i < n; i++) {
        if (i % 3 == 2continue;
        ans += c[i];
    }
    cout << ans;
    return 0;
}
cs
 

 

반응형

'알고리즘 문제풀이 > 백준' 카테고리의 다른 글

[백준 15489번] 파스칼 삼각형  (0) 2023.04.21
[백준 16953번] A -> B  (0) 2023.04.21
[백준 1890번] 점프  (0) 2023.04.19
[백준 1758번] 알바생 강호  (0) 2023.04.19
[백준 13305번] 주유소  (0) 2023.04.19

+ Recent posts