CodeWars 열 여섯 번째 문제

Updated:

Equal Sides Of An Array

public static int findEvenIndex(int[] arr) {

    int leftSum = 0;
    int rightSum = Arrays.stream(arr).sum()-arr[0];

    if(leftSum == rightSum) {
        return 0;
    }

    for(int i = 1; i < arr.length; i++) {
        leftSum = leftSum + arr[i-1];
        rightSum = rightSum - arr[i];

        if(leftSum == rightSum) {
            return i;
        }

    }

    return -1;
}

*위 코드는 사실 내가 짠게 아니다… 내가 생각한건 왼쪽부터 HashMap으로 key값을 인덱스, value값을 배열의 합으로 쭉 모은 다음 오른쪽부터 순환하면서 HashMap에 담겨있는 value 값을 비교하려고 했다. 그러나 위에 코드 처럼 신박한 코드를 태형이와 진호랑 공부하며 보게 되었다… 하.. 좌절감이 들었지만 공부하면 나도 언젠가 저렇게 생각 할 수 있지 않을가 생각을 한다. 현타가 쎄게 왔지만 열심히 해보자