본문 바로가기

728x90
SMALL

BAEKJOON/그리디

(24)
백준 12788번 [제 2회 IUPC는 잘 개최될 수 있을까?](C++) -yes6686- 티스토리 백준 문제 풀이: 12788번 [제 2회 IUPC는 잘 개최될 수 있을까?]문제 링크: https://www.acmicpc.net/problem/12788문제 설명:제2회 IUPC를 위해 필요한 공책의 총 수를 계산하고, 제공 가능한 공책을 가진 사람들 중 최소한의 인원으로 충족시킬 수 있는지 판단하는 문제입니다. 공책이 충분하다면 최소 인원을 출력하고, 부족하다면 "STRESS"를 출력합니다.문제 해결 코드#include #include using namespace std;int arr[1001]; // 각 사람이 제공할 수 있는 공책 수// 내림차순 정렬을 위한 비교 함수bool compare(int a, int b) { return a > b;}int main() { ios::sync_w..
백준 17262번 [팬덤이 넘쳐흘러](C++) -yes6686- 티스토리 백준 문제 풀이: 17262문제 링크: https://www.acmicpc.net/problem/17262문제 설명:여러 사람의 도착 시간(s)과 떠나는 시간(e)이 주어질 때, 모두가 한 번에 머무를 수 없는 시간의 길이를 계산하는 문제입니다. 만약 모두가 한 번에 머무를 수 있다면, 결과는 0입니다.문제 해결 코드// 팬덤이 넘쳐흘러 문제의 최적화된 코드#include #include // max, min 함수 사용using namespace std;int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n; // 사람의 수 cin >> n; int maxArrival = -1; // 가장 늦은 도착 시간 int ..
백준 20365번 [블로그2](C++) -yes6686- 티스토리 백준 문제 풀이: 20365 블로그2문제 링크: https://www.acmicpc.net/problem/20365문제 설명:n개의 블록으로 구성된 블로그 글을 빨간색(R) 또는 파란색(B)으로 칠하려고 한다. 같은 색으로 연속된 블록을 모두 칠할 경우, 이를 한 번의 작업으로 간주한다. 모든 블록을 동일한 색으로 칠하려면 최소 몇 번의 작업이 필요한지 계산하는 문제이다.문제 해결 코드// 20365 블로그2 - 최적화된 코드#include #include #include using namespace std;int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n; // 블록의 개수 cin >> n; string s; //..
백준 20937번 [떡국](C++) -yes6686- 티스토리 백준 문제 풀이: 20937 떡국문제 링크: https://www.acmicpc.net/problem/20937문제 설명:n개의 떡국 그릇에 번호가 매겨져 있습니다. 각 떡국 그릇에는 어떤 수가 적혀 있으며, 같은 수가 적힌 떡국 그릇이 있을 수 있습니다. 이 때, 가장 많은 떡국 그릇에 적힌 숫자가 몇 개인지를 출력하는 문제입니다.문제 해결 코드// 20937 떡국 - 최적화된 코드#include #include using namespace std;int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n; // 떡국 그릇의 개수 cin >> n; unordered_map cnt; // 숫자별 개수 저장 int ans..
백준 20310번 [타노스](C++) -yes6686- 티스토리 백준 문제 풀이: 20310 [타노스]문제 링크: https://www.acmicpc.net/problem/20310문제 설명:주어진 이진 문자열에서 '1'의 개수와 '0'의 개수를 각각 절반씩 제거하여 가장 작은(사전 순으로 빠른) 문자열을 만드는 문제입니다. 입력된 문자열은 '0'과 '1'로만 이루어져 있으며, 항상 짝수 개의 '1'과 짝수 개의 '0'이 주어집니다. 문자열을 재구성할 때, 가능한 한 사전순으로 가장 작은 결과를 출력해야 합니다.문제 해결 코드// 타노스 문제 해결 코드#include #include using namespace std;int main() { ios::sync_with_stdio(false); cin.tie(NULL); string s; cin >..
백준 17521번 [Byte Coin](C++) -yes6686- 티스토리 백준 문제 풀이: 17521 [Byte Coin]문제 링크: https://www.acmicpc.net/problem/17521문제 설명:주어진 기간 동안 바이트 코인의 가격 변동을 알고 있을 때, 초기 현금을 최대한 활용하여 마지막 날에 최대의 현금을 보유하는 것이 목표입니다. 매일 코인을 매수하거나 매도할 수 있으며, 코인은 정수 단위로만 거래 가능합니다. 최종 날에는 모든 코인을 매도하여 현금화해야 합니다.문제 해결 코드// Byte Coin 문제 해결 코드#include using namespace std;int arr[16]; // 최대 16일 동안의 코인 가격 저장int main() { ios::sync_with_stdio(false); cin.tie(NULL); long lo..
백준 2891번 [카약과 강풍](C++) -yes6686- 티스토리 백준 문제 풀이: 2891 [카약과 강풍]문제 링크: https://www.acmicpc.net/problem/2891문제 설명:카약이 파손된 팀이 다른 팀의 여분 카약을 빌려 최종적으로 경기 참가가 불가능한 팀 수를 최소화하는 문제입니다. 총 \(n\)개의 팀 중 일부는 카약이 파손되었고(\(-1\)), 일부는 여분 카약을 가지고 있습니다(\(+1\)). 여분 카약은 인접한 팀에만 빌려줄 수 있습니다.문제 해결 코드// 카약과 강풍 문제 해결 코드#include using namespace std;int arr[11]; // 각 팀의 카약 상태 저장 배열 (-1: 파손, 0: 정상, 1: 여분)int main() { ios::sync_with_stdio(false); cin.tie(NULL)..
백준 29198번 [이번에는 C번이 문자열](C++) -yes6686- 티스토리 백준 문제 풀이: 29198 [이번에는 C번이 문자열]문제 링크: https://www.acmicpc.net/problem/29198문제 설명:n개의 문자열이 주어집니다. 각 문자열을 정렬하고, 이 중에서 k개의 사전순으로 앞선 문자열들을 선택합니다. 선택된 문자열들을 합친 후, 결과 문자열을 사전순으로 정렬하여 출력하는 문제입니다.문제 해결 코드// 이번에는 C번이 문자열 문제 해결 코드#include #include #include using namespace std;string s[301]; // 입력 문자열 저장 배열int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n, m, k; cin >> n >> m >> k; ..

728x90
LIST