SSONG Cloud

[백준] 2+1 세일 본문

Algorithm/백준

[백준] 2+1 세일

SSONGMI 2021. 5. 28. 13:46
반응형

문제 출처: 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