문제
https://school.programmers.co.kr/learn/courses/30/lessons/43238
접근방법
through GPT..
코드
#include <string>
#include <vector>
#include <algorithm>
#include <iostream>
#define MAX 1000000000
using namespace std;
long long solution(int n, vector<int> times) {
long long answer = 0;
long long left = 0;
long long right = *max_element(times.begin(), times.end()) * static_cast<long long>(n);
while(left < right) {
long long mid = (left + right) / 2;
long long peaple = 0;
for (auto t : times) {
peaple += mid / t;
}
if (peaple < n) left = mid + 1;
else right = mid;
}
answer = left;
return answer;
}
개선할 점
이야 이분탐색은 이렇게 하는 것이구만...
'코딩테스트 준비 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 LV3] - 섬 연결하기(kruskal) c++ (0) | 2024.02.26 |
---|---|
[프로그래머스 LV2] - 큰 수 만들기(그리디) c++ (0) | 2024.02.25 |
[프로그래머스 LV3] - N으로 표현(DP - possible_sets) c++ (1) | 2024.02.25 |
[프로그래머스 LV3] - 가장 먼 노드(그래프) c++ (1) | 2024.02.25 |
[프로그래머스 LV2] - 모음사전(트리) c++ (0) | 2024.02.21 |