https://school.programmers.co.kr/learn/courses/30/lessons/118667
#include <string>
#include <vector>
#include <algorithm>
#include <numeric>
#include <cmath>
using namespace std;
int solution(vector<int> queue1, vector<int> queue2) {
int answer = 0;
long sum1 = ::accumulate(queue1.begin(), queue1.end(), 0),
sum2 = ::accumulate(queue2.begin(), queue2.end(), 0);
size_t idx1 = 0, idx2 = 0;
int max = queue1.size() * 4;
while (answer < max)
{
if (sum1 > sum2 && !queue1.empty())
{
queue2.emplace_back(queue1[idx1]);
sum2 += queue1[idx1], sum1 -= queue1[idx1];
++idx1;
}
else if (sum1 < sum2 && !queue2.empty())
{
queue1.emplace_back(queue2[idx2]);
sum1 += queue2[idx2], sum2 -= queue2[idx2];
++idx2;
}
else break;
++answer;
}
return answer >= max ? -1 : answer;
}
'Coding Test > Programmers' 카테고리의 다른 글
[Programmers] Lv 2. 무인도 여행 (1) | 2023.08.05 |
---|---|
[Programmers] (2021 KAKAO BLIND RECRUITMENT) Lv 2. 메뉴 리뉴얼 (0) | 2023.08.03 |
[Programmers] [투포인터] Lv 2. 연속된 부분 수열의 합 (0) | 2023.07.31 |
[Programmers] Lv 2. 124 나라의 숫자 (0) | 2023.07.28 |
[Programmers] (월간 코드 챌린지 시즌1) Lv 2. 삼각 달팽이 (0) | 2023.07.28 |
댓글