본문 바로가기

728x90
SMALL

BAEKJOON/그리디

(33)
백준 16496번 [큰 수 만들기](C++) -yes6686- 티스토리 백준 문제 풀이: 16496 [큰 수 만들기]문제 링크: https://www.acmicpc.net/problem/16496문제 설명:주어진 숫자들을 조합하여 만들 수 있는 가장 큰 수를 찾는 문제입니다.각 숫자를 문자열로 정렬하며, 두 문자열 a, b를 비교할 때 a + b와 b + a를 비교하여 더 큰 값이 앞에 오도록 정렬하면 됩니다.문제 해결 코드#include #include using namespace std;string arr[1001];// 두 숫자를 조합하여 큰 순서대로 정렬bool compare(string a, string b) { return a + b > b + a;}int main() { ios::sync_with_stdio(false); cin.tie(NULL)..
백준 2212번 [센서](C++) -yes6686- 티스토리 백준 문제 풀이: 2212 [센서]문제 링크: https://www.acmicpc.net/problem/2212문제 설명:각 센서는 일직선 상에 위치하고 있으며, 이 센서들을 K개의 기지국으로 커버하려고 합니다. 기지국은 특정 위치를 커버할 수 있으며, 기지국 간의 최소 거리 합을 줄이는 것이 목표입니다.즉, 센서를 K개의 구역으로 나누었을 때, 각 구역 내 센서 간의 거리 합이 최소가 되도록 하는 문제입니다.문제 해결 코드#include #include #include using namespace std;int arr[10001];int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n, k; cin >> n >> k; ..
백준 3061번 [사다리](C++) -yes6686- 티스토리 백준 문제 풀이: 3061 [사다리]문제 링크: https://www.acmicpc.net/problem/3061문제 설명:주어진 배열을 정렬하면서, 인접한 원소의 위치를 교환하는 방식으로 정렬됩니다. 이 과정에서 발생하는 교환 횟수를 출력하는 문제입니다.문제는 T개의 테스트 케이스로 구성되어 있으며, 각 테스트 케이스마다 n개의 숫자로 이루어진 배열이 주어집니다. 각 테스트 케이스의 배열을 정렬할 때 발생하는 총 교환 횟수를 출력합니다.문제 해결 코드#include using namespace std;int arr[1001]; // 최대 배열 크기int main() { ios::sync_with_stdio(false); cin.tie(NULL); int T; // 테스트 케이스 개수 ..
프로그래머스 [탐욕법(Greedy)] 체육복(C++) -yes6686- 티스토리 프로그래머스 문제 풀이: 탐욕법 - 체육복문제 링크: 문제 보기문제 설명:체육복이 없는 학생이 다른 학생으로부터 체육복을 빌릴 수 있는 최대 학생 수를 구하는 문제입니다. 빌릴 수 있는 조건은 양옆 학생이 여분의 체육복을 가지고 있는 경우로 제한됩니다.문제 해결 코드#include #include using namespace std;int arr[31]; // 학생별 체육복 상태를 저장하는 배열int solution(int n, vector lost, vector reserve) { int answer = 0; // 모든 학생이 체육복을 하나씩 가지고 있다고 초기화 for (int i = 1; i 0) { // 체육복이 있는 학생 answer++; ..
백준 17224번 [APC는 왜 서브태스크 대회가 되었을까?](C++) -yes6686- 티스토리 백준 문제 풀이: 17224 [APC는 왜 서브태스크 대회가 되었을까?]문제 링크: https://www.acmicpc.net/problem/17224문제 설명:서브태스크 형식으로 진행되는 대회에서 참가자가 풀 수 있는 문제의 최대 점수를 계산하세요. 문제마다 난이도가 주어지며, 참가자의 실력을 고려하여 문제를 푼 점수를 누적합니다.입력 조건:첫 번째 줄에 문제 수 n, 참가자의 실력 l, 풀 수 있는 최대 문제 수 k가 주어집니다. (1 ≤ n, k ≤ 100, 1 ≤ l ≤ 10)다음 n개의 줄에는 각 문제의 쉬운 버전의 난이도와 어려운 버전의 난이도가 주어집니다. (1 ≤ 쉬운 버전 난이도 ≤ 어려운 버전 난이도 ≤ 10)출력 조건:참가자가 얻을 수 있는 최대 점수를 출력합니다.문제 해결 코드#in..
백준 17509번 [And the Winner Is... Ourselves!](C++) -yes6686- 티스토리 백준 문제 풀이: 17509 [And the Winner Is... Ourselves!]문제 링크: https://www.acmicpc.net/problem/17509문제 설명:11개의 문제를 푸는 데 걸리는 시간과 각 문제의 벌점이 주어진다. 문제를 푸는 순서를 적절히 정해 총 점수를 최소화하도록 한다. 총 점수는 다음과 같이 계산된다:문제를 푸는 데 걸린 시간의 누적 합벌점에 20을 곱한 값을 누적 시간에 더한 값입력:11개의 줄에 걸쳐 각 문제를 푸는 데 걸리는 시간과 벌점이 공백으로 구분되어 주어진다.출력:최소화된 총 점수를 출력한다.문제 해결 코드#include #include using namespace std;pair arr[11];int main() { ios::sync_with_st..
백준 11399번 [ATM](C++) -yes6686- 티스토리 백준 문제 풀이: 11399 [ATM]문제 링크: https://www.acmicpc.net/problem/11399문제 설명:이 문제는 ATM 앞에서 사람들이 돈을 인출하는 데 걸리는 시간의 합을 최소화하는 문제입니다. 각 사람이 돈을 인출하는 데 걸리는 시간이 주어질 때, 적절히 줄을 세워 기다리는 시간의 총합을 최소화해야 합니다.입력:첫 줄에 사람의 수 n이 주어집니다 (1 ≤ n ≤ 1000).둘째 줄에는 n개의 정수로 각 사람이 돈을 인출하는 데 걸리는 시간이 주어집니다.출력:각 사람이 기다린 시간의 총합의 최소값을 출력합니다.예시:입력:53 1 4 3 2출력:32문제 해결 코드#include #include using namespace std;int main() { int n; ci..
백준 11047번 [동전 0](C++) -yes6686- 티스토리 백준 문제 풀이: 11047 [동전 0]문제 링크: https://www.acmicpc.net/problem/11047문제 설명:각각의 동전을 사용하여 총 금액 K를 맞추는 최소 동전 개수를 계산하세요. 동전은 무제한으로 사용할 수 있습니다.입력 조건:첫째 줄에 N과 K가 주어집니다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000)둘째 줄부터 N개의 줄에 동전의 가치가 오름차순으로 주어집니다. (1 ≤ 동전 가치 ≤ 1,000,000)주어진 동전의 가치는 서로 다릅니다.출력 조건:K원을 만드는데 필요한 동전 개수의 최솟값을 출력합니다.문제 해결 코드#include using namespace std;int arr[11];int main() { int n, k; cin >> n >>..

728x90
LIST