코딩테스트/자바 문제풀이

[그리디] 백준 11508 2+1 세일

승요나라 2024. 8. 24. 07:22

11508번: 2+1 세일

https://www.acmicpc.net/problem/11508

 

# 코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Collections;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());
        Integer arr[] = new Integer[n];
        int arr_sum = 0;
        for (int i = 0; i < n; i++) {
            arr[i] = Integer.parseInt(br.readLine());
            arr_sum += arr[i];
        }

        // arr 배열을 내림차순으로 정렬
        Arrays.sort(arr, Collections.reverseOrder());

        int count_3 = 0;
        int discount = 0;
        for (int j = 0; j < n; j++) {
            count_3++;
            if (count_3 == 3) {
                discount += arr[j];
                count_3 = 0;
            }
        }

        System.out.println(arr_sum - discount);
        br.close();
    }
}
  • 내림차순 정렬 후 문제 로직을 그대로 작성하면 되는 간단한 문제였다. :D