class Solution {
public:
int totalFruit(vector<int>& fruits) {
int answer = 0;
int length = 0;
int a1 = 0;
int a2 = a1;
int b1 = 0;
int b2 = 0;
for(int i = 0 ; i < fruits.size(); i++) {
if(fruits[a1] == fruits[i]) {
a2 = i;
}
else if(b1 == 0) {
b1 = b2 = i;
}
else if(fruits[b1] == fruits[i]) {
b2 = i;
}
else {
if(a2 < b1) {
a1 = b1;
}
else if(b2 < a2){
a1 = b2 + 1;
}
else if(a2 < b2) {
a1 = a2 + 1;
}
length = i - a1;

break;
}
length++;
answer = max(length, answer);

}

}
return answer;
}
};

조건문 너무많아