🔗롤케이크 자르기
import java.util.*;
class Solution {
public int solution(int[] topping) {
int n= topping.length;
Map<Integer, Integer> rightCnt= new HashMap<>();
for(int t: topping){
rightCnt.put(t, rightCnt.getOrDefault(t,0)+1);
}
Set<Integer> leftCnt = new HashSet<>();
int leftKind=0;
int rightKind=rightCnt.size();
int answer=0;
for(int i=0; i< n-1;i++){
int t= topping[i];
if(leftCnt.add(t)){
leftKind++;
}
int cnt=rightCnt.get(t)-1;
if(cnt==0){
rightCnt.remove(t);
rightKind--;
}else{
rightCnt.put(t,cnt);
}
if(rightKind==leftKind)answer++;
}
return answer;
}
}