강의로 돌아가기
Kims

무엇이 문제인지 모르겠습니다..

제가 생각한 방법은 자기 자신이 어떤 컴퓨터와 연결되어 있다면 자기자신과 연결된 컴퓨터들을 자신의 네트워크 번호로 등록을 하는건데 채점을 해보면 2개만 맞다고 나오네요

작성중인 코드―Solution.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
class Solution {
    int [] net;
    int [][]com;
    int N,res;
    public int solution(int n, int[][] computers) {
        net=new int[n];
        N=n;
        com=computers;
        solve(0,1);
        return res;
    }
    public void solve(int cnt,int num){
        if(cnt==N){
            res=num-1;
            return;
        }
        int temp=num;
        boolean check=false;
        if(net[cnt]!=0){
            check=true;
            num=net[cnt];
        }
        for(int i=0;i<N;i++){
            if(com[cnt][i]!=0){
                if(net[i]==0){
                    net[i]=num;
                }
            }
        }
        if(check){
            solve(cnt+1,temp);
        }
        else{
            solve(cnt+1,temp+1);
        }
    }
}
  • 나산마로
    컴 1,2,3,4, 가 모두 서로 연결된 경우 각각의 1,2,3,4 의 경우에 대해 연결된것들에 네트워크 번호 부여해 줄때 서로 중복 되는것 아닌가요? 나산마로 2019.05.09 21:12
0 개의 답변
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.