- Reference
- ์ด ๋ก์ง์ ๋ถ๋ช
๋์ค์ ์ด๋์ ๋ ์ฐ์ผ ๊ฒ ๊ฐ๋ค.
- ์ผ์ชฝ ํ๊ณ , ์ค๋ฅธ์ชฝ ํด์ ๊ณ์ฐํ๋ค๋ ์ ๊ธฐ์ตํด ๋์.
Solution
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