๋ฌธ์
ํ์ด ๊ณผ์
๋ฉฑ ์งํฉ
์ ๊ตฌํ๋ ๋ฌธ์ ์
๋๋ค.
๋ค์ํ ๋ฐฉ๋ฒ์ด ์๊ฒ ์ง๋ง ์ ๋ ๋นํธ ๋ง์คํฌ
๋ฅผ ํตํด์ ๋ชจ๋ ๋ถ๋ถ ์งํฉ์ ์์ฑํ์ต๋๋ค.
ํ๊ฐ์ง ์ ์ํ ์ ์ ๋ฐ๋ณต๋ฌธ์ ์ง์ ์ฌ์ฉํ๋ ๋์ filter
ํจ์๋ฅผ ํตํดsubset
์ ํฌํจ๋ ๋ชจ๋ ๋นํธ๋ฅผ ์ฐพ์์ ๋ฐฐ์ด๋ก ๋ฐํํด์คฌ์ต๋๋ค.
์ฝ๋
/**
* @param {number[]} nums
* @return {number[][]}
*/
var subsets = function (nums) {
let numbers = 0;
nums.forEach((n) => {
numbers |= 1 << n;
});
const answer = [[]];
for (let subset = numbers; subset; subset = (subset - 1) & numbers) {
const temp = nums.filter((n) => subset & (1 << n));
answer.push(temp);
}
return answer;
};
๋ฐ์ํ
'๐ algorithm > leetcode' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
LeetCode 94 - Binary Tree Inorder Traversal (Medium) (0) | 2021.03.03 |
---|---|
LeetCode 394 - Decode String (Medium) (0) | 2021.03.03 |
LeetCode 739 - Daily Temperatures (Medium) (0) | 2021.03.03 |
LeetCode 114 - Flatten Binary Tree to Linked List (Medium) (0) | 2021.03.03 |
LeetCode 287 - Find the Duplicate Number (Medium) (0) | 2021.03.03 |
๐ฌ ๋๊ธ