Skip to content

Commit 7278a49

Browse files
authored
[ PS ] : Product of Array Except Self
1 parent c497f74 commit 7278a49

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/**
2+
* ์ฃผ์–ด์ง„ ๋ฐฐ์—ด์—์„œ ์ž๊ธฐ ์ž์‹ ์„ ์ œ์™ธํ•˜๊ณ  ๋‚˜๋จธ์ง€ ์›์†Œ๋ฅผ ๊ณฑํ•œ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜
3+
* @param {number[]} nums
4+
* @return {number[]}
5+
*/
6+
const productExceptSelf = function(nums) {
7+
const dp1 = []; // left to right
8+
const dp2 = []; // right to left
9+
10+
for (let i = 0, j = nums.length - 1; i < nums.length; i++, j--) {
11+
dp1[i] = (dp1[i-1] ?? 1) * nums[i];
12+
dp2[j] = (dp2[j+1] ?? 1) * nums[j];
13+
}
14+
15+
return nums.map((_, i) => (dp1[i-1] ?? 1) * (dp2[i+1] ?? 1));
16+
};
17+
18+
// ์‹œ๊ฐ„๋ณต์žก๋„: O(n)
19+
// ๊ณต๊ฐ„๋ณต์žก๋„: O(n) --> dp ๋ฐฐ์—ด์„ ํ•˜๋‚˜๋งŒ ์“ฐ๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์„ ๋“ฏ

0 commit comments

Comments
ย (0)