문제 설명
네트워크로 연결되어있는 컴퓨터들이 있는데 1번 컴퓨터가 바이러스에 걸리면 1번 컴퓨터와 연결된 컴퓨터는 모두 바이러스에 감염된다.
이때 1번 컴퓨터로 인해 바이러스에 감염된 컴퓨터의 개수를 구하라
입력
컴퓨터 대수
연결된 컴퓨터쌍 수
컴퓨터 쌍 1
컴퓨터 쌍 2
컴퓨터 쌍 3
...
..
ex)
7
6
1 2
2 3
1 5
5 2
5 6
4 7
출력
감염된 컴퓨터 개수
코드
(입력 받는 부분은 따로 첨부하지 않았다)
이 문제는 항상 1번 컴퓨터에서 바이러스가 시작되는 것으로 정해져있으므로 함수를 만들지 않고 바로 실행하는 코드로 만들었다
먼저 visit 리스트를 만들어주고 방문한 노드를 저장할 queue도 만들어준다(14, 15번 줄)
그리고 while 문을 이용하여 queue에 더이상 방문할 노드가 없을 때까지 반복한다.
한번 방문을 할때마다 a의 값을 1씩 늘려서 감염된 컴퓨터의 개수를 세어주고 마지막에 a를 출력한다!
'Koala - 14기 > 코딩테스트 준비 스터디' 카테고리의 다른 글
[백준/C++] 14490번 백대열 (0) | 2024.05.06 |
---|---|
[PG/Java] Programmers 여행경로 (0) | 2024.05.05 |
15723번: n단 논법 (0) | 2024.05.05 |
[백준/python] 2644 촌수계산 (0) | 2024.05.05 |
[PG/Go] 단어 변환 (0) | 2024.05.05 |