728x90
반응형
1. 오늘의 학습 문제
문제
https://school.programmers.co.kr/learn/courses/30/lessons/49189
코드
import java.util.*;
class Solution {
ArrayList<ArrayList<Integer>> graph = new ArrayList<>();
//인접 리스트에 그래프 저장
public int solution(int n, int[][] edge) {
for(int i = 0 ; i <= n ; i++) graph.add(new ArrayList<>());
for (int[] i : edge) {
int v = i[0];
int w = i[1];
graph.get(v).add(w);
graph.get(w).add(v);
}
boolean[] visit = new boolean[n + 1];
return bfs(graph, n, visit);
}
public static int bfs(ArrayList<ArrayList<Integer>> graph, int n, boolean[] visit) {
Queue<int[]> q = new LinkedList<>();
int answer = 0;
q.add(new int[] {1, 0});
visit[1] = true;
int maxDepth = 0;
while(!q.isEmpty()) {
int[] arr = q.poll();
int v = arr[0];
int depth = arr[1];
if(maxDepth == depth)
answer++; // 최대 길이 노드라면 answer++;
else if (maxDepth < depth) { // 더 긴 거리에 노드가 있다면 answer = 1, MaxDepth 갱신
maxDepth = depth;
answer = 1;
}
for (int i = 0; i < graph.get(v).size(); i++) {
int w = graph.get(v).get(i); //인접 정점
if (!visit[w]) {
q.add(new int[] { w, depth + 1 });
visit[w] = true;
}
}
}
return answer;
}
}
#99클럽 #코딩테스트 준비 #개발자 취업 #항해99 #TIL
728x90
반응형
'공부 > 2024 항해99코딩클럽' 카테고리의 다른 글
99클럽 3기 코테 스터디 26일차 TIL /[프로그래머스] 개인정보 수집 유효기간 자바 풀이 (2023 KAKAO BLIND RECRUITMENT ) (0) | 2024.08.16 |
---|---|
99클럽 3기 코테 스터디 25일차 TIL /[프로그래머스] 순위 자바 (0) | 2024.08.16 |
99클럽 3기 코테 스터디 23일차 TIL /[LeetCode] 502.IPO 자바 풀이 (0) | 2024.08.13 |
99클럽 3기 코테 스터디 22일차 TIL /[LeetCode] Maximal Rectangle 자바 (0) | 2024.08.12 |
99클럽 3기 코테 스터디 21일차 TIL /[프로그래머스] 정수 삼각형 자바 풀이, 동적계획법 (0) | 2024.08.11 |