코딩 정복 가즈아~
Home
  • 분류 전체보기 (159)
    • 알고리즘 풀이 (149)
      • 프로그래머스 (89)
      • 백준 (59)
    • 취준 일기 (6)
    • 네트워크 정리 (1)
Home
  • 분류 전체보기 (159)
    • 알고리즘 풀이 (149)
      • 프로그래머스 (89)
      • 백준 (59)
    • 취준 일기 (6)
    • 네트워크 정리 (1)
블로그 내 검색

코딩 정복 가즈아~

(っ◔◡◔)っ ♥ 2021 취뽀하자!! ♥

  • 알고리즘 풀이/프로그래머스

    [level3] 프로그래머스 - 가장 먼 노드(JAVA)

    2021. 9. 17.

    by. 데롱디롱

    728x90

     

     

    [ 풀이 방법 ]

    - 그래프의 인접 행렬을 만든다.

     

     

    - n번부터 bfs를 돌면서, 단계별 size를 체크한다.

     

    - 단계마다 queue를 돌기 전 queue의 size를 answer에 넣어주면, 
       마지막엔 answer에 가장 마지막 단계(즉, 가장 멀리 있는) 노드들의 수가 담긴다.

     

     

     

     

    [ 전체 코드 ]

    import java.util.*;
    
    class Solution {
        static boolean matrix[][], isVisited[];
    	static int answer;
    
    	public int solution(int n, int[][] edge) {
    		matrix = new boolean[n + 1][n + 1];
    		for (int i = 0; i < edge.length; i++)
    			matrix[edge[i][0]][edge[i][1]] = matrix[edge[i][1]][edge[i][0]] = true;
    
    		isVisited = new boolean[n + 1];
    		bfs(1);
    
    		return answer;
    	}
    
    	static void bfs(int start) {
    		Queue<Integer> queue = new LinkedList<>();
    		isVisited[start] = true;
    		queue.offer(start);
    
    		while (!queue.isEmpty()) {
    			int size = queue.size();
    			answer = size;
    
    			while (--size >= 0) {
    				int n = queue.poll();
    				for (int i = 1; i < matrix.length; i++) {
    					if (!isVisited[i] && matrix[n][i]) {
    						isVisited[i] = true;
    						queue.offer(i);
    					}
    				}
    			}
    		}
    	}
    }
    저작자표시 (새창열림)

    '알고리즘 풀이 > 프로그래머스' 카테고리의 다른 글

    [level3] 프로그래머스 - 베스트앨범(JAVA)  (1) 2021.09.17
    [level2] 프로그래머스 - 프린터(JAVA)  (0) 2021.09.17
    [level3] 프로그래머스 - 순위(JAVA)  (0) 2021.09.17
    [level2] 프로그래머스 - 위장(JAVA)  (0) 2021.09.15
    [level2] 프로그래머스 - 전화번호 목록(JAVA)  (0) 2021.09.14

    댓글

    관련글

    • [level3] 프로그래머스 - 베스트앨범(JAVA) 2021.09.17
    • [level2] 프로그래머스 - 프린터(JAVA) 2021.09.17
    • [level3] 프로그래머스 - 순위(JAVA) 2021.09.17
    • [level2] 프로그래머스 - 위장(JAVA) 2021.09.15
    맨 위로
전체 글 보기
Tistory 로그인
Tistory 로그아웃
로그아웃 글쓰기 관리

Today

Total

피할 수 없다면, 순간을 즐겨라

Designed by Nana
블로그 이미지
데롱디롱
희희.. (๑′ᴗ‵๑)

티스토리툴바