BAEKJOON/이분 탐색 (7) 썸네일형 리스트형 백준 2473번 [세 용액](C++) -yes6686- 티스토리 백준 문제 풀이: 2473 [세 용액]문제 링크: https://www.acmicpc.net/problem/2473문제 설명:n개의 용액이 주어졌을 때, 세 용액을 혼합하여 그 특성값(합)의 절댓값이 0에 가장 가까운 조합을 찾는 문제입니다. 각 용액은 음수, 0, 양수로 이루어져 있으며, n은 최대 100,000입니다.문제 해결 코드#include #include #include using namespace std;long long int arr[100001];long long int resultArr[3];int main() { int n; cin >> n; for (int i = 0; i > arr[i]; } sort(arr, arr + n); long long in.. 백준 2467번 [용액](C++) -yes6686- 티스토리 백준 문제 풀이: 2467 [용액]문제 링크: https://www.acmicpc.net/problem/2467문제 설명:n개의 용액이 주어졌을 때, 두 용액을 혼합하여 그 특성값(합)의 절댓값이 0에 가장 가까운 두 용액을 찾는 문제입니다. 용액은 음수, 0, 양수로 구성되며, 두 용액을 혼합했을 때의 특성값은 두 용액의 합으로 정의됩니다.용액의 수 n은 최대 100,000개입니다.두 용액의 특성값이 0에 가까운 조합을 출력합니다.문제 해결 코드#include #include #include using namespace std;int arr[100001];bool compare(int a, int b) { return abs(a) > n; for (int i = 0; i > arr[i]; .. 백준 1166번 [선물](C++) -yes6686- 티스토리 백준 문제 풀이: 1166 (선물)문제 링크: https://www.acmicpc.net/problem/1166문제 설명:n개의 정육면체 선물을 상자(l × w × h)에 담으려고 합니다. 선물은 모두 같은 크기로 만들어야 하며, 가능한 가장 큰 선물의 한 변의 길이를 구하는 문제입니다. 길이는 소수점 아래 10자리까지 정확해야 합니다.문제 해결 코드#include #include using namespace std;int main() { ios::sync_with_stdio(false); cin.tie(NULL); // 입력 받기 double n, l, w, h; cin >> n >> l >> w >> h; // 이분 탐색 초기화 double s = 0; // 가능.. 백준 16401번 [과자 나눠주기](C++) -yes6686- 티스토리 백준 문제 풀이: 16401 (과자 나눠주기)문제 링크: https://www.acmicpc.net/problem/16401문제 설명:과자의 길이가 서로 다를 때, **최대한 길이가 긴 과자**를 만들어 M명의 조카에게 나눠줘야 합니다. 조카에게 나눠줄 수 있는 과자의 길이는 모두 동일해야 하며, 과자를 자를 수 있지만 남는 부분은 버려야 합니다. 이때, 과자의 길이의 **최댓값**을 구하는 문제입니다.문제 해결 코드#include using namespace std;int arr[1000001]; // 과자의 길이를 저장하는 배열int main() { ios::sync_with_stdio(false); cin.tie(NULL); int m, n; // m: 조카 수, n: 과자의 개수 .. 백준 2512번 [예산](C++) -yes6686- 티스토리 백준 문제 풀이: 2512 (예산)문제 링크: https://www.acmicpc.net/problem/2512문제 설명:각 지방에서 요청한 예산의 합이 국가 예산 총액을 초과할 경우, **상한선**을 정해 각 지방의 예산을 조정하는 문제입니다. 예산이 상한선 이하인 경우는 요청한 예산을 그대로 배정하고, 상한선을 초과하면 상한선만큼만 배정합니다. 상한선의 **최댓값**을 구하는 문제입니다.문제 해결 코드#include #include using namespace std;int arr[10001];int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n; // 지방의 수 cin >> n; int sum = 0; for.. 백준 1920번 [수 찾기](C++)-yes6686- 티스토리 백준 문제 풀이: 1920 [수 찾기]문제 링크: https://www.acmicpc.net/problem/1920문제 설명:정수 N개로 이루어진 배열 A에서 특정 정수들이 존재하는지 확인하는 문제입니다. 각각의 정수에 대해 존재 여부를 1 또는 0으로 출력합니다.문제 해결 코드#include #include using namespace std;int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); map m; int n; cin >> n; string x; for (int i = 0; i > x; m.insert(pair(x, 1)); } int k; cin >> k; for .. 백준 1654번 [랜선 자르기](C++)-yes6686- 티스토리 백준 문제 풀이: 1654 [랜선 자르기]문제 링크: https://www.acmicpc.net/problem/1654문제 설명:길이가 각각 다른 K개의 랜선을 최소한 N개의 같은 길이로 잘라야 합니다. 만들 수 있는 최대 랜선의 길이를 구하는 문제입니다.문제 해결 코드#include #include using namespace std;long long int arr[10001];int main() { int k, n; cin >> k >> n; int max = -1; for (int i = 0; i > arr[i]; if (max 코드 설명핵심 아이디어: 이분 탐색을 활용하여 가능한 랜선의 최대 길이를 효율적으로 탐색합니다.구현 세부사항:start: 이분 탐색의 시작.. 이전 1 다음