function solution(orders, course) {
var answer = [];
for(const order of orders){
answer.push(order.split("").sort().join(""));
}
orders=[...answer];
let subStrs=new Map()
orders.sort((a,b)=>a.length-b.length);
for(const order of orders){
for(const cou of course)
for(let i=0;i<order.length-(cou-1);i++){
let s=order[i];
for(let j=i+1;j<order.length-cou+2;j++){
s+=order.substr(j,cou-1);
console.log(s,order);
if(subStrs.has(s))
subStrs.set(s,subStrs.get(s)+1);
else{
subStrs.set(s,1);
}
s=order[i];
}
}
}
console.log(subStrs);
answer.sort();
return answer;
}
solution( ["ABCDEFG", "ABCDEFG", "BCADG", "BEDC", "CEF", "CFE"], [2, 3, 4, 5, 7]);
이렇게 하면
Map(59) {
'CE' => 5,
'CF' => 4,
'EF' => 4,
'CEF' => 4,
'BC' => 4,
'BD' => 4,
'BE' => 3,
'CD' => 4,
'DE' => 3,
'BCD' => 4,
'BDE' => 3,
'CDE' => 3,
'BCDE' => 3,
'AB' => 3,
'AC' => 3,
'AD' => 3,
'AG' => 3,
'BG' => 3,
'CG' => 3,
'DG' => 3,
'ABC' => 3,
'ACD' => 3,
'ADG' => 1,
'BDG' => 1,
'CDG' => 1,
'ABCD' => 3,
'ACDG' => 1,
'BCDG' => 1,
'ABCDG' => 1,
'AE' => 2,
'AF' => 2,
'BF' => 2,
'DF' => 2,
'EG' => 2,
'FG' => 2,
'ADE' => 2,
'AEF' => 2,
'AFG' => 2,
'BEF' => 2,
'BFG' => 2,
'CFG' => 2,
'DEF' => 2,
'DFG' => 2,
'EFG' => 2,
'ACDE' => 2,
'ADEF' => 2,
'AEFG' => 2,
'BDEF' => 2,
'BEFG' => 2,
'CDEF' => 2,
'CEFG' => 2,
'DEFG' => 2,
'ABCDE' => 2,
'ACDEF' => 2,
'ADEFG' => 2,
'BCDEF' => 2,
'BDEFG' => 2,
'CDEFG' => 2,
'ABCDEFG' => 2
}맞아 보이지만 abcdg abcfg 같은 부분은 찾을 수 없다. 다음에 다시 풀어야 겠다.