from typing import List
class Solution:
# λλκΈ° μ°μ° μ°μ§ λ§κ³ , O(N)μΌλ‘
# λλκΈ° μΈ μ μμΌλ©΄ sum(nums)ν λ€μμ νλμ© λλ μ£Όλ©΄ λμ΄κΈ΄ ν¨
# κ²°κ΅ λλκΈ°λ₯Ό μ¬μ©νμ§ λͺ» νλκΉ μμ μ μ μΈν κ³±μ
λ€μ μ΄μ©νλ λ°©λ²λ°μ μμ
def productExceptSelf(self, nums: List[int]) -> List[int]:
answer = []
# μΌμͺ½λΆν° κ³±ν κ²°κ³Όλ₯Ό answer λ°°μ΄μ μ μ₯
times = 1
for num in nums:
answer.append(times)
times *= num
times = 1
# μΌμͺ½λΆν° κ³±ν κ²°κ³Όμ μ€λ₯Έμͺ½ κ°λ€μ μ°¨λ‘λλ‘ κ³±ν΄μ μ μ₯νμ
for i in range(len(nums) - 1, -1, -1):
answer[i] *= times
times *= nums[i]
return answer
Leave a comment