Leetcode Java Remove Comments
업데이트:
문제
코드
class Solution {
public int pivotIndex(int[] nums) {
int sum = 0;
int half = 0;
for (int num : nums) {
sum += num;
}
for (int idx = 0; idx < nums.length; idx++) {
if (half * 2 == sum - nums[idx]) {
return idx;
} else {
half += nums[idx];
}
}
return -1;
}
}
결과
설명
- 피벗 인덱스를 찾는 문제이다.
- 피벗 인덱스란 특정 위치 기준으로 좌측 값들의 합과 우측 값들의 합이 동일한 인덱스이다.
- 피벗 인덱스가 존재하지 않는 경우, -1을 주어진 문제의 결과로 반환한다.
- 문제 풀이에 필요한 변수를 정의한다.
- sum은 nums 내 모든 값들을 더한 값을 저장할 변수로, nums의 모든 값들을 더해준다.
- half는 좌측의 값들을 더해 피벗 인덱스를 구하기 위한 절반 값을 저장할 변수로, 0으로 초기화한다.
- 0부터 nums의 길이 전까지 idx를 증가시키며 아래를 반복한다.
- half의 2배가 $sum - nums[idx]$를 만족하는 경우, 현재 위치가 피벗 인덱스이므로 idx를 주어진 문제의 결과로 반환한다.
- 위를 만족하지 않는 경우, half에 nums의 idx번째 값을 더해준다.
- 반복이 완료되면 피벗 인덱스가 존재하지 않으므로 -1을 주어진 문제의 결과로 반환한다.
소스
Sample Code는 여기에서 확인 가능합니다.
댓글남기기