프로그래머스 3단계 : 네트워크 (Java 자바)

2023. 8. 26. 22:30·💻 코딩테스트/programmers
728x90

문제 설명

네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다.

컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주어질 때, 네트워크의 개수를 return 하도록 solution 함수를 작성하시오.

 

 

제한사항

  • 컴퓨터의 개수 n은 1 이상 200 이하인 자연수입니다.
  • 각 컴퓨터는 0부터 n-1인 정수로 표현합니다.
  • i번 컴퓨터와 j번 컴퓨터가 연결되어 있으면 computers[i][j]를 1로 표현합니다.
  • computer[i][i]는 항상 1입니다.

 

입출력 예

n computers return
3 [[1, 1, 0], [1, 1, 0], [0, 0, 1]] 2
3 [[1, 1, 0], [1, 1, 1], [0, 1, 1]] 1

 

class Solution {
boolean [] visited ;
int size;
int [][] data;
int answer = 0;
public int solution(int n, int[][] computers) {
visited = new boolean[n];
size = n;
data = computers;
for(int j = 0; j<size ; j++){
if(!visited[j]){
search(j);
answer++;
}
}
return answer;
}
public void search(int i){
visited[i] = true;
for(int j=0; j<size ; j++){
if(i!=j && data[i][j]==1 && !visited[j]){
search(j);
}
}
}
public static void main(String [] args){
System.out.println(new Solution().solution(4,new int[][]{{1, 1, 1,0}, {0, 1, 1,0}, {1, 0,1,0},{0,0,0,1}}));
}
}
728x90
저작자표시 비영리 변경금지 (새창열림)

'💻 코딩테스트 > programmers' 카테고리의 다른 글

프로그래머스 3단계 : 이중우선순위큐 (Java 자바)  (0) 2023.08.28
프로그래머스 2단계 : 귤 고르기 (Java 자바)  (0) 2023.08.28
프로그래머스 3단계 : 정수 삼각형 (Java 자바)  (0) 2023.08.26
프로그래머스 2단계 : 최댓값과 최솟값 (Java 자바)  (0) 2023.08.26
프로그래머스 0단계 : 공백으로 구분하기 1  (0) 2023.08.25
'💻 코딩테스트/programmers' 카테고리의 다른 글
  • 프로그래머스 3단계 : 이중우선순위큐 (Java 자바)
  • 프로그래머스 2단계 : 귤 고르기 (Java 자바)
  • 프로그래머스 3단계 : 정수 삼각형 (Java 자바)
  • 프로그래머스 2단계 : 최댓값과 최솟값 (Java 자바)
gxxg
gxxg
함께 일하고 싶은 개발자를 꿈꾸는 예비개발자의 공부 기록
공공함께 일하고 싶은 개발자를 꿈꾸는 예비개발자의 공부 기록
  • gxxg
    공공
    gxxg
  • 전체
    오늘
    어제
    • 분류 전체보기 (138)
      • ☁️ 구름 x 카카오 Deep Dive 풀스택 (7)
        • html, css (1)
        • Java (3)
        • 스프링 MVC (0)
      • 💻 코딩테스트 (89)
        • 백준 (2)
        • programmers (87)
      • SQLD (1)
      • Language (3)
        • Java (2)
        • JavaScript (1)
      • Style Sheet (0)
        • CSS (0)
        • SCSS & SASS (0)
      • DBMS (2)
        • Oracle (2)
        • MySQL (0)
        • postgresql (0)
        • 데이터베이스 기초 이론 (0)
      • React (0)
      • SpringBoot (0)
      • JSP (2)
      • 알고리즘 (0)
      • 2023-02 몰입형 SW 정규 교육 (24)
        • 9월 프로젝트 (8)
      • 벽돌깨기 (4)
      • Etc (4)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    회원 관리 시스템
    3단계
    LV3
    이클립스
    티스토리챌린지
    0단계
    톰캣
    코테
    junit 테스트
    Lv2
    java
    구현체
    2단계
    자바
    Lv0
    코딩테스트
    POST
    springboot
    eclipse
    DFS
    프로그래머스
    spring
    CSS
    programmers
    javascript
    오블완
    HTML
    JSP
    자바스크립트
    프로젝트 구조
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
gxxg
프로그래머스 3단계 : 네트워크 (Java 자바)

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.