[プログラマ]チュートリアル(Javascript)
4772 ワード
ソース:プログラマ
質問する
数え切れない、順序付けされた、またはある順序で並べられた要素の集合を「tuple」(tuple)と呼ぶ.n個の要素を有するtupleをn tupleと呼び、以下のように表すことができる.
(a1, a2, a3, ..., an)
Tupleには以下の性質があります.
重複する要素が存在する可能性があります.ex : (2, 3, 1, 2)
要素には一定の順序があり、要素の順序が異なる場合、それらは異なるトーンです.ex : (1, 2, 3) ≠ (1, 3, 2)
tupleの要素数は限られている.
要素の個数がnであり、重複する要素(a 1,a 2,a 3,...,an)がない場合(ただし、a 1,a 2,...,anは自然数)、集合記号「{」,「}」を用いて表すことができる.
{{a1}, {a1, a2}, {a1, a2, a3}, {a1, a2, a3, a4}, ... {a1, a2, a3, a4, ..., an}}
例えば、tupleが(2、1、3、4)である場合
{{2}, {2, 1}, {2, 1, 3}, {2, 1, 3, 4}}
に表示されます.この場合、集合は要素順序の影響を受けません.
{{2}, {2, 1}, {2, 1, 3}, {2, 1, 3, 4}}
{{2, 1, 3, 4}, {2}, {2, 1, 3}, {2, 1}}
{{1, 2, 3}, {2, 1}, {1, 2, 4, 3}, {2}}
同じ例(2、1、3、4)をすべて表します.
パラメータに特定のtupleを表す集合を含む文字列sが与えられた場合、解関数を完了し、sで表されるtupleを配列に戻します.
せいげんじょうけん
問題を解く
まず、問題の要求に応じてチュートリアルを整理する必要があります.
メソッドフィルタリングにより文字列を容易に整理できます.
順番は以下の通りです.
インプリメンテーションコード const solution = s =>
s.slice(2,-2)
.split('},{')
.map(v=>v.split(',').map(x=>Number(x)))
.sort((a,b)=>a.length-b.length)
.reduce((acc,cur)=>[...acc,...cur.filter(v=>!acc.includes(v))],[])
Reference
この問題について([プログラマ]チュートリアル(Javascript)), 我々は、より多くの情報をここで見つけました
https://velog.io/@ssj9685/프로그래머스-튜플Javascript
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
const solution = s =>
s.slice(2,-2)
.split('},{')
.map(v=>v.split(',').map(x=>Number(x)))
.sort((a,b)=>a.length-b.length)
.reduce((acc,cur)=>[...acc,...cur.filter(v=>!acc.includes(v))],[])
Reference
この問題について([プログラマ]チュートリアル(Javascript)), 我々は、より多くの情報をここで見つけました https://velog.io/@ssj9685/프로그래머스-튜플Javascriptテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol