[백준|파이썬] 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: 수 정렬하기
청량리 물냉면
청량리 물냉면
프로그래밍 공부를 하고 있습니다. 공부 내용 정리 겸 정보 공유를 목적으로 합니다.
    반응형
  • 청량리 물냉면
    노력중인 블로그
    청량리 물냉면
  • 전체
    오늘
    어제
    • 분류 전체보기 (505)
      • 프로그래밍 (41)
        • Programming (1)
        • C | C++ (6)
        • Java (28)
        • Python (5)
      • 웹 프로그래밍 (108)
        • HTML | CSS (5)
        • JavaScript | TypeScript (41)
        • React (25)
        • Vue.js (0)
        • Next.js (18)
        • Spring & Spring Boot (13)
        • JSP & Servlet (1)
        • DB (4)
      • 웹 프로젝트 (77)
        • 웹 프로젝트 (22)
        • 🥨스낵몰 (3)
        • 👨‍👨‍👧‍👧소셜 가계부 (26)
        • 🌜꿈 일기장 (11)
        • 🔮포트폴리오 사이트 (11)
        • 🏃‍♂️팀 프로젝트: 일정관리 프로그램 (0)
        • 📈팀 프로젝트: AI기반 주식 분석 플랫폼 (0)
        • 😺Just Meow It: 조언 사이트 (2)
        • 📕Workly: 교대근무 다이어리 (1)
      • 앱 프로그래밍 (26)
        • Flutter (24)
        • Kotlin (2)
      • Problem Solving (166)
        • 백준 (52)
        • 프로그래머스 (79)
        • SWEA (29)
      • Computer Science (40)
        • 알고리즘 (14)
        • 컴퓨터 네트워크 (18)
        • 이산수학 (8)
      • Developer (47)
        • 후기 (4)
        • 자료정리 (4)
        • 취업 | 취준 (9)
        • SSAFY (1)
        • 웹개발 교육 프로그램 (9)
        • TIL (20)
  • 블로그 메뉴

    • 홈
    • Github
  • 공지사항

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

  • 태그

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

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

티스토리툴바