-
[파이썬] 리트코드 724. Find Pivot Index 풀이기타/알고리즘 2021. 9. 27. 16:19반응형
https://leetcode.com/problems/find-pivot-index/submissions/
숫자 리스트가 주어졌을 떄
어느 한 요소보다 왼쪽에 있는 숫자의 합과 오른쪽에 있는 숫자의 합이 동일해지는 요소의 인덱스를 찾아야 한다
Nums = [1,7,3,6,5,6] 이라면
인덱스가 3일 때 좌우의 합이 모두 11로 동일해지므로 3이 답이 되는 것이다
1. 왼쪽에서부터의 합을 left, 오른쪽에서부터의 합을 right라고 두면
2. left = sum(nums[0,i-1]) # 인덱스 바로 전 숫자까지의 합
3. right = sum(nums) - left - nums[i] # 전체의 합에서 왼쪽에서부터의 합, 인덱스를 뺀 수치
4. 일 때의 left == right가 되는 인덱스를 찾으면 된다
class Solution: def pivotIndex(self, nums: List[int]) -> int: left = 0 total = sum(nums) for i, x in enumerate(nums): if left == total - left - x: return i left += x return -1
반응형'기타 > 알고리즘' 카테고리의 다른 글
주피터랩 단축키 설정법 - 커맨드+엔터로 셀 실행하기 (0) 2022.05.22 [파이썬] 리트코드 1991. Find the Middle Index in Array 풀이 (0) 2021.09.27 [파이썬] 리트코드 119. Pascal's Triangle II 풀이 (0) 2021.09.23 [파이썬] 리트코드 830. Positions of Large Groups 풀이 (0) 2021.09.21 [파이썬] 리트코드 1413. Minimum Value to Get Positive Step by Step Sum 풀이 (0) 2021.09.20