class Solution:
def productExceptSelf(self, nums: List[int]) -> List[int]:
ans = []
isZero = 0
product = 1
for n in nums:
if n != 0:
product *= n
else:
isZero += 1
if isZero == 0:
# 0이 한개도 없을 때
for n in nums:
ans.append(int(product*(n**(-1))))
elif isZero == 1:
# 0이 한개일 때
for n in nums:
if n == 0:
ans.append(product)
else:
ans.append(0)
else:
# 0이 2개 이상
for n in nums:
ans.append(0)
return ans
class Solution:
def productExceptSelf(self, nums: List[int]) -> List[int]:
lenNum = len(nums)
ans = [0 for _ in range(lenNum)]
isZero = 0
product = 1
for n in nums:
if n != 0:
product *= n
else:
isZero += 1
if isZero == 0:
# 0이 한개도 없을 때
for ind, n in enumerate(nums):
ans[ind]= int(product*(n**(-1)))
elif isZero == 1:
# 0이 한개일 때
for ind, n in enumerate(nums):
if n == 0:
ans[ind] = product
return ans
미미하게 속도 향상,,