[C++]프로그래머스 - 이모티콘 할인행사(조합)
난이도 : Lv2 (중)풀이 시간 : 35분알고리즘 유형 : 조합, DFS풀이 방법 : 가능한 경우 탐색 후 조합 문제 설명카카오톡은 이모티콘 플러스 서비스 가입자를 늘리기 위해 할인 행사를 진행합니다.목표는 이모티콘 플러스 서비스 가입자 수를 최대화하고, 그 다음으로 이모티콘 판매액을 늘리는 것입니다. n명의 사용자에게 m개의 이모티콘을 할인해서 판매한다.이모티콘마다 할인율은 10%, 20%, 30%, 40% 중 하나이다.사용자는 자신이 설정한 할인율 이상으로 할인이 되는 이모티콘을 구매하고, 구매 금액이 설정 금액 이상이면 플러스 서비스에 가입한다.예시사용자할인율한도1번40%10,000원2번25%10,000원이모티콘가격1번7,000원2번9,000원이모티콘을 40% 할인하면, 두 사용자는 모두 이모티..
2024. 11. 24.
[C++]백준(BOJ) 2473 - 저울 (그리디)
난이도 : 골II풀이 시간 : 40분알고리즘 유형 : 그리디, 정렬풀이 방법 : 오름차순의 합을 구한 뒤 비교 문제 예시무게가 양의 정수인 N개의 저울추가 주어질 때, 이 추들을 사용하여 측정할 수 없는 양의 정수 무게 중 최솟값을 구하는 프로그램을 작성하시오.예를 들어, 무게가 각각 3, 1, 6, 2, 7, 30, 1인 7개의 저울추가 주어졌을 때, 이 추들로 측정할 수 없는 양의 정수 무게 중 최솟값은 21이다. 입력첫 째 줄에는 저울추의 개수를 나타내는 양의 정수 N이 주어진다. N은 1 이상 1,000 이하이다. 둘째 줄에는 저울추의 무게를 나타내는 N개의 양의 정수가 빈칸을 사이에 두고 주어진다. 각 추의 무게는 1이상 1,000,000 이하이다.출력첫째 줄에 주어진 추들로 측정할 수 없는..
2024. 11. 20.
[C++]백준(BOJ) 15686 - 치킨 배달 (백트래킹, 순열)
난이도 : 골V풀이 시간 : 40분알고리즘 유형 : 백트래킹, 조합(Comb)풀이 방법 : (백트래킹, 조합) 을 이용한 최소 거리 합 계산 문제 링크https://www.acmicpc.net/problem/15686 문제 예시 주어진 N×N 크기의 도시에서, 각 칸은 빈 칸(0), 집(1), 치킨집(2)으로 구분됩니다. 각 집은 가장 가까운 치킨집과의 거리를 계산해 "치킨 거리"를 가집니다. 도시의 "치킨 거리"는 모든 집의 치킨 거리 합입니다. (2, 1)에 있는 집과 (1, 2)에 있는 치킨집과의 거리는 |2-1| + |1-2| = 2, (5, 5)에 있는 치킨집과의 거리는 |2-5| + |1-5| = 7이다. 따라서, (2, 1)에 있는 집의 치킨 거리는 2이다. (5, 4)에 있는 집과 (1..
2024. 11. 19.