티스토리 뷰

반응형

프로그래머스 알고리즘 - 네트워크

네트워크 문제 링크


그래프 탐색을 코드로 구현 할 줄 알아야 풀 수 있는 문제였습니다. ☞ 그래프(Graph) DFS 탐색 구현하기

문제풀이

  • 코드의 전체적인 틀은 그래프 탐색을 응용합니다.
  • 네트워크망은 그래프로 치환하고, 각각의 컴퓨터를 노드로 치환합니다.
  • class Network {
        class Computer {
            . . .
        }
        . . .
    }
    
  • 탐색한 컴퓨터가 어떤 컴퓨터에도 연결되어 있지 않다면 네트워크의 숫자를 하나 증가시킵니다.
  • class Network{
        . . . 
        void isNewNetwork(Computer computer) {
            if(!computer.connected) network++;
        }
    }
    
  • 모든 컴퓨터를 탐색하기 위해서, 탐색은 모든 컴퓨터를 기점으로 시작해봅니다.
  • class Network{
        . . . 
        void countAllNetwork() {
           for (Computer c : computers) {
                if (!c.connected)
                    findNetwork(c);
            }
    }



풀이 깃헙 주소

반응형
댓글