[JS][프로그래머스 -LEVEL 2 - 혼자 놀기의 달인 ]

정대만·2023년 7월 30일

코딩테스트

목록 보기
36/51
post-thumbnail

보니까

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])
profile
안녕하세요

0개의 댓글