문제풀이64 [프로그래머스] 네트워크 Java import java.io.*; import java.util.*; //DFS 문제이다. 끝 깊이에 들어갔을 때 해당 값을 확인하고 해당 함수를 벗어나게 한다. class Solution { static int answer = 0; boolean[] visitied; static List list; public void dfs(int now) { if(visitied[now]) return; visitied[now]=true; for(int item : list.get(now)) { if(now==item || visitied[item]) continue; dfs(item); } } public int solution(int n, int[][] computers) { visitied = new boole.. 2021. 4. 13. [프로그래머스] 섬 연결하기 Java import java.io.*; import java.util.*; class Way { int from; int to; int distance; public Way(int from, int to, int distance) { this.from = from; this.to = to; this.distance = distance; } } class Solution { int[] parent; public int findSet(int p1) { if (parent[p1] == p1) return p1; return parent[p1] = findSet(parent[p1]); } public void union(int p1, int p2) { int pa = parent[p1]; int pb = parent[.. 2021. 4. 13. [프로그래머스] 타겟넘버 JAVA ``` import java.io.; import java.util.; //DFS 문제이다. 끝 깊이에 들어갔을 때 해당 값을 확인하고 해당 함수를 벗어나게 한다. class Solution { static int answer = 0; void dfs(int[] numbers, int target, int now, int depth) { if(depth==numbers.length) { if(now==target) answer++; return; } int number = numbers[depth]; dfs(numbers, target, now+number, depth+1); dfs(numbers, target, now-number, depth+1); } public int solution(int[] n.. 2021. 4. 12. [프로그래머스] 가장 먼 노드 Java import java.io.*; import java.util.*; class Solution { //거리 BFS로 거리계산을 한다. 간선의 거리가 모두 동일함으로 다익스트라로 해결할 이유는 없음. public void dj(int[] distance, List list, int n) { boolean[] visited = new boolean[n+1]; Queue pq = new ArrayDeque(); pq.add(1); distance[1]=1; while (!pq.isEmpty()) { int now = pq.poll(); visited[now] = true; for(int i=0;i 2021. 4. 12. 이전 1 2 3 4 5 6 ··· 16 다음