두 큐의 합을 같게 만들 수 없는 경우는 하나의 큐를 두 벡터의 크기 합만큼 pop 했는데도 불구하고 조건을 만족하지 못한 경우
합이 큰 쪽에서 하나씩 빼되 하나의 큐를 두 벡터의 크기 합만큼 pop 했는지 확인하기 위해 큐마다 따로 카운트했어야 함
변수 이렇게 사용해 보기 -> 현재 값 저장 변수, 카운트 변수, 포인터 변수
#include <string>
#include <vector>
using namespace std;
int solution(vector<int> queue1, vector<int> queue2) {
int answer = -2;
int num=queue1.size();
long long sum1=0,sum2=0;
for(int i=0;i<queue1.size();i++){
sum1+=queue1[i];
sum2+=queue2[i];
}
if((sum1+sum2)%2!=0){
return -1;
}
int ep=0;
while(sum1!=sum2||ep<num*2){
if(sum1>sum2){
sum1-=queue1[0];
sum2+=queue1[0];
queue2.push_back(queue1[0]);
queue1.erase(queue1.begin());
}
else{
sum1+=queue2[0];
sum2-=queue2[0];
queue1.push_back(queue2[0]);
queue2.erase(queue2.begin());
}
ep++;
}
if(sum1==sum2){
return ep;
}
return -1;
}