맨처음에 인덱스 트리 로 생각해서 풀까 말까 귀찮아서 고민했었는데, 사실 인덱스트리를 안써도 되는 문제였다. 방향이 고정되어있어서, 0 을 만나면 가중치를 1씩 늘려주고, 1을 만날때마다 가중치를 결과값에 더해주면 끝
물론, 시간복잡도를 생각하면 무조건 인덱스트리.
class Solution {
public int solution(int[] A) {
// write your code in Java SE 8
int result = 0;
int sum = 0;
for(int i = 0; i < A.length; i++){
if(A[i] == 0){
sum++;
}else{
result += sum;
}
}
if(result > 1000000000 || result < 0){
return -1;
}else{
return result;
}
}
}