
보니까

1:8, 2:6, 3:3, 4:7, 5:2, 6:5, 7:1 ,8:4
이기때문에 1에서부터 시작해서 1 ->8 ->4 ->7 ->1
이런식으로 가는것을 볼수있다.
시간 제한이 없길래 그냥 dfs로 풀어버렸다.
function solution(cards) {
var answer = 0;
var obj={};
for(var i=0; i<cards.length; i++){
obj[i+1]=cards[i];
}
var arrau_solution=[];
const inner= function(first){
var count=1;
var first_arr=[obj[first]];
obj[first]='*';
while(first_arr.length>0){
var pop_first= first_arr.pop();
if( obj[pop_first]!='*'){
first_arr.push(obj[pop_first]);
count+=1;
obj[pop_first]='*';
}
}
return count;
}
for(var gogo=1; gogo<=cards.length; gogo++){
if(obj[gogo]!='*'){
var hey= inner(gogo);
arrau_solution.push(hey);
}
}
arrau_solution.sort((a,b)=>b-a);
return arrau_solution.length==1?0 : arrau_solution[0]*arrau_solution[1];
// return answsolution([ 2, 3, 4, 5, 6, 7, 8, 9, 10 , 1 ])
//solution([8,6,3,7,2,5,1,4])