공부기록/백준

[백준] 11724번 연결요소의 개수 구하기

메델 2024. 1. 17. 06:23
import java.util.ArrayList;
import java.util.Scanner;

public class Main {
	
	static ArrayList<Integer>[] graph;
	static int[] visited;
	static int N, M;
	
	public static void DFS(int c) {
		if(visited[c] == 1) {
			return;
		}
		
		visited[c] = 1;
		
	    for (int i : graph[c]) {
	        if (visited[i] == 0) {
	            DFS(i);
	        }
	    }
	}
	
    public static void main(String[] args) {
    	Scanner kb = new Scanner(System.in);
    	
    	N = kb.nextInt();
    	M = kb.nextInt();
    	
    	graph = new ArrayList[N+1];
    	visited = new int[N+1];
    	
    	for (int i = 1; i <= N; i++) {
    		graph[i] = new ArrayList<>();
    	}
    	
    	
    	for(int i=0; i<M ; i++) {
    		int s = kb.nextInt();
    		int e = kb.nextInt();
    		// 무방향 그래프
    		graph[s].add(e);
    		graph[e].add(s);
    	}
    	
    	
    	int answer = 0;
    	
    	
    	for(int i=1; i<N+1; i++) {
    		if(visited[i] == 0) {
    			DFS(i);
    			answer++;
    		}
    	}
    	
    	System.out.println(answer);
    	

    }
}

'공부기록 > 백준' 카테고리의 다른 글

[백준] 2407번 조합  (1) 2024.02.03
[백준] 2563번 색종이  (0) 2024.01.31
[백준] 1789번 수들의 합  (1) 2024.01.15
[백준] 5648번 역원소 정렬  (1) 2024.01.15
[백준] 1406번 에디터  (1) 2024.01.14