SSONG Cloud
[백준] 2+1 세일 본문
반응형
문제 출처: https://www.acmicpc.net/problem/11508
11508번: 2+1 세일
KSG 편의점에서는 과일우유, 드링킹요구르트 등의 유제품을 '2+1 세일'하는 행사를 하고 있습니다. KSG 편의점에서 유제품 3개를 한 번에 산다면 그중에서 가장 싼 것은 무료로 지불하고 나머지 두
www.acmicpc.net
1. 입력
: 첫 번째 줄에는 유제품의 수 N (1 ≤ N ≤ 100,000)이 주어집니다.
: 두 번째 줄부터 N개의 줄에는 각 유제품의 가격 Ci (1 ≤ Ci ≤ 100,000)가 주어집니다.
2. 출력
: 재현이가 N개의 유제품을 모두 살 때 필요한 최소비용을 출력합니다. 정답은 231-1보다 작거나 같다.
3. 풀이
: 되도록이면 비싼 유제품들을 무료로 살 수 있도록 해야한다.
: 먼저 정렬한 후 비싼 순서로 3개씩 묶어가며 그 값을 빼줄 수 있도록 한다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main {
static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
static StringBuilder sb = new StringBuilder();
static StringTokenizer st;
public static void main(String[] args) throws NumberFormatException, IOException {
int N= Integer.parseInt(br.readLine());
int[] arr = new int[N];
for(int i = 0; i < N; i++) {
arr[i] = Integer.parseInt(br.readLine());
}
Arrays.sort(arr);
int res = 0;
int cnt = 0;
for(int i = N-1; i >= 0; i--) {
cnt++;
if(cnt % 3 != 0) {
res += arr[i];
}
}
System.out.println(res);
}
}
반응형
'Algorithm > 백준' 카테고리의 다른 글
[백준] 14916 거스름돈 (0) | 2021.06.05 |
---|---|
[백준] 16395 파스칼의 삼각형 (0) | 2021.06.05 |
[백준] 14716 현수막 (0) | 2021.05.28 |
[백준] 13904 과제 (0) | 2021.05.27 |
[백준] 11399 ATM (0) | 2021.05.25 |
Comments