Toy Problem 11 #
1618 ワード
11_powerSet
これをベースに近づいてきました.
しましたが、私が望むように繰り返すことはありませんでした.ホワイトドアを使うのかな...?それとも他の方法がありますか?
コメントを見てみましょう...
1)データをタイリングする
2)重複する要素の削除
3)
これをベースに近づいてきました.
1. 문제 흐름 파악 -> 문제에서 나에게 어떤 상황이 주어졌는가?
'abcd' 입력받음 . -> 이것을 부분집합화함.
['a', 'b','c','d','ab' 'cd', 'ac','ad','bd' 'bc' ...]
// 반복문 로직이 어떻게되었지 ?
a b c d a b c d 이렇게 만 뽑힘..
반복문으로 하나씩 뽑고나서 result = []에 하나씩 푸쉬 해줌]
그리고나서 조건문 result.includes() ===false 이면, 푸쉬 아니면 안넣어줌.
しましたが、私が望むように繰り返すことはありませんでした.ホワイトドアを使うのかな...?それとも他の方法がありますか?
コメントを見てみましょう...
const powerSet = function (str) {
// 정렬
const sorted = str.split('').sort();
// 중복 제거
const deduplicated = sorted.reduce((acc, item) => {
if (acc[acc.length - 1] === item) {
return acc;
} else {
return acc.concat(item);
}
});
let subSets = [];
const pickOrNot = (idx, subset) => {
// base case
if (idx === deduplicated.length) {
// 마지막 문자까지 검토한 경우
subSets.push(subset);
return;
}
// recursive case
// idx번째 문자가 포함되지 않는 경우
pickOrNot(idx + 1, subset);
// idx번째 문자가 포함되는 경우
pickOrNot(idx + 1, subset + deduplicated[idx]);
};
pickOrNot(0, '');
return subSets.sort();
};
次に、コンソールで確認した結果です.ろんり
1)データをタイリングする
2)重複する要素の削除
3)
Reference
この問題について(Toy Problem 11 #), 我々は、より多くの情報をここで見つけました https://velog.io/@corepen_/Toy-Problemテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol