
class Solution {
public int[] runningSum(int[] nums) {
int[] index = new int[nums.length];
for (int i = 0; i < nums.length; i++) {
for (int j = 0; j <= i; j++) {
index[i] += nums[j];
}
}
return index;
}
}
배열공부를 하면서 느낀것은 어느정도 예제를 알고있어야 문제를 풀 수 있다는것이다 대략적인 방법을 알것같다
class Solution {
public int pivotIndex(int[] nums) {
if(nums.length==1){
return 0;
}
int sumleft=0;
int sumright=0;
int all=0;
int index=-1;
for(int i=0; i<nums.length; i++){
all+=nums[i];}
for(int i=1; i<nums.length; i++){
for(int j=0; j<i; j++){ sumleft+=nums[j];
}
sumright=all-sumleft-nums[i];
if(all-nums[0]==0){
index=0;
return 0;
}
if(sumright==sumleft){
index=i;
return i;
}
sumright=0;
sumleft=0;
}
return index;
}}
머릿속으로 생각한걸 폰으로 작성해서 제출했다.
예외처리로 문제가 되었던 부분은
1) 배열이 1개인경우-->시작할때 배열 개수 확인으로 해결
2) 첫번째 배열 오른쪽으로 합이 0 인경우
3) 3번째 4번째 모두 0이어서 index를 4번째껄 반환한 경우
2번 3번의 경우 바로 값을 리턴해줘서 함수를 끝냈다
리트코드는 어떤 테스트케이스에서 틀렸는지 왜 틀렸는지 알려줘서 너무 좋다 답답함이 금방 해소되는것같다
