혼자 놀기의 달인

LJM·2023년 8월 30일
0

programmers

목록 보기
89/92

https://school.programmers.co.kr/learn/courses/30/lessons/131130#

class Solution {
    public int solution(int[] cards) {
        int answer = 0;
        int len = cards.length;
        
        for(int i = 0; i < len; ++i)
        {
            boolean[] visit = new boolean[len];
            int first = search(i, cards, visit);
            
            int second = 0;
            for(int j = 0; j < len; ++j)
            {
                if(visit[j])
                    continue;
                
                //System.out.println(first+","+second+","+i+","+j);
                
                second = search(j, cards, visit);
                answer = Math.max(answer, first*second);
            }
        }
        
        
        return answer;
    }
    
    public int search(int start, int[] cards, boolean[] visit)
    {   
        int ret = 1;
        int next = start;
        visit[next] = true;
        
        while(true)
        {
            next = cards[next];
            next-=1;
            if(visit[next])
            {
                break;
            }
            else
            {
                visit[next] = true;
            }
            ret++;
        }
        
        return ret;
    }
}
profile
게임개발자 백엔드개발자

0개의 댓글