- 자기자신을 제외한 왼쪽의 곱셈 결과 * 오른쪽 곱셈 결과로 해결함.
- 처음 for문에서 왼쪽부터 res배열에 [안 곱한 값, 1번째, 1 2번째, 1 2 * 3번째]가 입력됨.
- 반대로 오른쪽부터 계산을 실행하면 [4 3 2번째, 4 * 3번째, 4번째, 안 곱한 값]이 계산되므로, 이 둘을 서로 곱해주면 됨.
class Solution:
def productExceptSelf(self, nums: List[int]) -> List[int]:
res = []
calc = 1
for i in range(len(nums)) :
res.append(calc)
calc *= nums[i]
calc = 1
for j in range(len(nums)-1, -1, -1) :
res[j] *= calc
calc *= nums[j]
return res