[LeetCode] 238. Product of Array Except Self

2021. 1. 10. 23:22Problem Solving/LeetCode

https://leetcode.com/problems/product-of-array-except-self/

 

Product of Array Except Self - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

풀이

from typing import List
class Solution:
def productExceptSelf(self, nums: List[int]) -> List[int]:
left = []
right = []
result = []
# 왼쪽 곱셈
tmp = 1
for i in range(len(nums)):
if i == 0:
left.append(tmp)
else:
tmp *= nums[i-1]
left.append(tmp)
# 오른쪽 곱셈
tmp = 1
for i in range(len(nums) - 1, -1, -1):
if i == len(nums) - 1:
right.append(tmp)
else:
tmp *= nums[i+1]
right.append(tmp)
right = right[::-1]
for i in range(len(left)):
result.append(left[i] * right[i])
return result

왼쪽곱셈, 오른쪽곱셈으로 나누어서 그 리스트들의 원소들을 각각 곱하여 구했다.

 

책 풀이가 약 100ms 더 빠르다. out을 재 활용하기 때문이다

 

 

책 정보

파이썬 알고리즘 인터뷰
국내도서
저자 : 박상길
출판 : 책만 2020.07.15
상세보기
반응형

'Problem Solving > LeetCode' 카테고리의 다른 글