[백준|파이썬] 2606: 바이러스 (실버3)

2023. 4. 5. 11:49·Problem Solving/백준
반응형
문제

https://www.acmicpc.net/problem/2606

 

2606번: 바이러스

첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어

www.acmicpc.net

 

 

🐍파이썬
import sys
com = int(sys.stdin.readline())
ssang = int(sys.stdin.readline())
graph = [[] for _ in range(com + 1)]
visited = [False] * (com + 1)
global answer	#dfs함수 내에서도 사용할 수 있도록 전역변수 선언
answer = 0

for _ in range(ssang):
    a, b = map(int, sys.stdin.readline().split())
    graph[a].append(b)
    graph[b].append(a)

def dfs(v):	#dfs를 통해 더 깊이 들어갈 수 없을 때까지 탐색
    global answer
    visited[v] = True
    answer += 1	#노드 하나 탐색 시마다 answer+1
    for i in graph[v]:
        if not visited[i]:
            dfs(i)
      
dfs(1)
print(answer - 1)	#1번 컴퓨터는 제외하고 카운팅

 

 

다른 풀이 방법

from sys import stdin

n = int(stdin.readline())
v = int(stdin.readline())

graph = [ [] for _ in range(n+1) ]
visited = [0] * (n+1)	#방문한 노드의 갯수를 카운팅하기 위한 리스트

for i in range(v) : 
    a, b = map(int, stdin.readline().split())
    graph[a] += [b]
    graph[b] += [a]

def dfs(k) : 
    visited[k] = 1	#방문 시 visited에 1을 대입
    for nx in graph[k] : 
        if visited[nx] == 0 : 
            dfs(nx)

dfs(1)
print(sum(visited)-1)	#visited의 1갯수를 통해 방문한 노드의 갯수를 센다.

 

 

 

반응형

'Problem Solving > 백준' 카테고리의 다른 글

[백준|파이썬] 1012: 유기농 배추 (실버2)  (0) 2023.04.08
[백준|파이썬] 2644: 촌수계산 (실버2)  (0) 2023.04.07
[백준|파이썬] 2178: 미로 탐색 (실버1)  (0) 2023.04.06
[백준|파이썬] 1260: DFS와 BFS (실버2)  (0) 2023.04.05
[백준|C++] 2750: 수 정렬하기  (0) 2021.09.10
[백준|C++] 2869: 달팽이는 올라가고 싶다  (0) 2021.09.02
'Problem Solving/백준' 카테고리의 다른 글
  • [백준|파이썬] 2644: 촌수계산 (실버2)
  • [백준|파이썬] 2178: 미로 탐색 (실버1)
  • [백준|파이썬] 1260: DFS와 BFS (실버2)
  • [백준|C++] 2750: 수 정렬하기
청량리 물냉면
청량리 물냉면
프로그래밍 공부를 하고 있습니다. 공부 내용 정리 겸 정보 공유를 목적으로 합니다.
    반응형
  • 청량리 물냉면
    노력중인 블로그
    청량리 물냉면
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 프로그래밍
        • Programming
        • C | C++
        • Java
        • Python
      • 웹 프로그래밍
        • HTML | CSS
        • JavaScript | TypeScript
        • React
        • Vue.js
        • Next.js
        • Spring & Spring Boot
        • JSP & Servlet
        • DB
      • 웹 프로젝트
        • 웹 프로젝트
        • 🥨스낵몰
        • 👨‍👨‍👧‍👧소셜 가계부
        • 🌜꿈 일기장
        • 🔮포트폴리오 사이트
        • 🏃‍♂️팀 프로젝트: 일정관리 프로그램
        • 📈팀 프로젝트: AI기반 주식 분석 플랫폼
        • 😺Just Meow It: 고양이의 조언
      • 앱 프로그래밍
        • Flutter
        • Kotlin
      • Problem Solving
        • 백준
        • 프로그래머스
        • SWEA
      • Computer Science
        • 알고리즘
        • 컴퓨터 네트워크
        • 이산수학
      • Developer
        • 후기
        • 자료정리
        • 취업 | 취준
        • 웹개발 교육 프로그램
        • TIL
  • 블로그 메뉴

    • 홈
    • Github
  • 공지사항

    • 프로그래밍 공부 중😊
  • 인기 글

  • 태그

    강의내용정리
    프로젝트
    타입스크립트
    컴퓨터네트워크
    파이썬
    블로그 제작
    포트폴리오
    웹사이트
    SWEA
    백준
    bfs
    자바
    뉴렉처
    플러터
    Next.js
    자바스크립트
    리액트
    ZeroCho
    구현
    d3
    공식문서
    spring boot
    mysql
    프로그래머스
    AWS
    React
    알고리즘
    Til
    Jiraynor Programming
    클론 프로젝트
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
청량리 물냉면
[백준|파이썬] 2606: 바이러스 (실버3)
상단으로

티스토리툴바