[파이썬 알고리즘 인터뷰] 자신을 제외한 배열의 곱
2021. 1. 7. 11:03ㆍ노트/Algorithm : 알고리즘
자신을 제외한 배열의 곱
배열을 입력받아 output[i]가 자신을 제외한 나머지 모든 요소의 곱셈 결과가 되도록 출력하라.
- 입력
[1,2,3,4]
- 출력
[24,12,8,6]
- 주의
나눗셈을 하지 않고 O(n)에 풀이하라.
def productExcpetSelf(nums):
out = []
p = 1
# 왼쪽 곱셈
for i in range(0, len(nums)):
out.append(p)
p = p * nums[i]
p = 1
# 왼쪽 곱셈 결과에 오른쪽 값을 차례대로 곱셈
for i in range(len(nums)-1, 0 -1, -1):
out[i] = out[i] * p
p = p * nums[i]
return out
productExceptSelf(nums)
>>> [24, 12, 8, 6]
'노트 > Algorithm : 알고리즘' 카테고리의 다른 글
[leetcode] 2. Add Two Numbers (0) | 2021.08.03 |
---|---|
[파이썬 알고리즘 인터뷰] 주식을 사고팔기 가장 좋은 시점 (0) | 2021.01.08 |
[파이썬 알고리즘 인터뷰] 배열 파티션 1. (0) | 2021.01.05 |
[파이썬 알고리즘 인터뷰] 세수의 합 (0) | 2021.01.04 |
[파이썬 알고리즘 인터뷰] 빗물 트래핑 (0) | 2020.12.31 |