
[백준] 11508번: 2 + 1 세일 - Kotlin[코틀린]
·
알고리즘/Baekjoon
문제 11508번: 2+1마트에서 물건을 3개 사면 가장 싼 1개는 무료로 준다. 구매하고자 하는 N개의 물건 가격이 주어질 때, 최대한 혜택을 받았을 때 지불해야 하는 금액의 합을 구하는 문제.www.acmicpc.net 풀이 문제에서 주어진 조건은 "유제품을 세 개 사면, 가장 싼 하나를 무료로 받을 수 있다" 이다. 따라서, 최대한 비싼 제품에 대해 할인을 적용하려면 비싼 제품들끼리 묶는 것이 가장 유리하다. 즉, 유제품의 가격을 내림차순으로 정렬한 뒤, 세 개씩 묶었을 때 세 번째 제품을 무료로 처리하면 된다. 코드 fun main() { var ans = 0 val cost = IntArray(readln().toInt()) { readln().toInt() }.sortedDesc..