Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- docker
- 파이썬
- Top-down
- 피보나치
- Singleton Pattern
- BubbleSort
- Observer Pattern
- 알고리즘
- github
- LeetCode
- 백준
- java
- Codility
- golang
- KAKAO
- Kotlin
- GCP
- GKE
- go
- k8s
- easy
- 그리디
- kubernetes
- Dynamic Programming
- Python
- Backjoon
- Programmers
- mobaXTerm
- cpu scheduling
Archives
- Today
- Total
To Be Developer
[LeetCode] 1020. Partion Array Into Three Parts With Equal Sum Python 본문
알고리즘/LeetCode
[LeetCode] 1020. Partion Array Into Three Parts With Equal Sum Python
Jeff Hwang 2019. 3. 26. 02:28class Solution(object): def canThreePartsEqualSum(self, A): """ :type A: List[int] :rtype: bool """ # 배열을 3개의 합으로 나누려면 # 합은 3X 가 되어야 한다 # 리스트의 합을 구하고 3으로 나눈다. s = sum(A)/3 # part1 합 part1 = 0 # part2 합 part2 = 0 # part3 합 part3 = 0 for i in A: # part1 가 3 분의 1이 아니면 part1 에 i를 더함 if part1 != s : part1 += i # part2 가 3 분의 1이 아니면 part1 에 i를 더함 elif part2 != s : part2 += i # part3 이 합의 3 분의 1이 아니면 part1 에 i를 더함 elif part3 != s : part3 += i # 맨 마지막 파티션이 s 가 아닌지만 확인해도 된다. # 그 이유는 part1 과 part2 가 이미 완성되어야 part3 가 # 연산되기 떄문 if part3 == s: return True else : return False if __name__ == "__main__": inData = [0,2,1,-6,6,-7,9,1,2,0,1] sl = Solution().canThreePartsEqualSum(inData) print(sl)
https://leetcode.com/problems/partition-array-into-three-parts-with-equal-sum/
'알고리즘 > LeetCode' 카테고리의 다른 글
[LeetCode] 917. Reverse Only Letter Python (0) | 2019.03.27 |
---|---|
[LeetCode] 796. Rotate String Python (0) | 2019.03.26 |
[LeetCode] 476. Number Complement (0) | 2019.03.25 |
[LeetCode] 942. DI String Match Python (0) | 2019.03.25 |
[LeetCode] 557. Reverse Words in a String III (0) | 2019.03.24 |