제출 코드
- 사용 알고리즘 :
브루트포스
처음에 전체 배열에 대해 토핑 수를 모두 헤아린 뒤에, 왼쪽에서부터 하나씩 상대방에게 토핑을 준다고 생각하고 풀면 쉽게 풀린다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Solution {
public int solution(int[] topping) {
int[] visit_left = new int[10001];
int[] visit_right = new int[10001];
int cnt_left=0, cnt_right=0;
int len = topping.length;
for(int i=0; i<len; i++){
if(visit_right[topping[i]]==0) cnt_right++;
visit_right[topping[i]]++;
}
int answer = 0;
for(int i=0; i<len; i++){
if(++visit_left[topping[i]]==1) cnt_left++;
if(--visit_right[topping[i]]==0) cnt_right--;
if(cnt_left == cnt_right) answer++;
}
return answer;
}
}