알고리즘
- 바이러스의 위치와 몇 초에 바이러스가 퍼졌는지 계산하기 위해서
Virus
클래스를 생성한다. - 배열의 원소를 입력받을 때 값이 1이상인 경우에 대해서
grid[i][j]
에 해당하는 인접 리스트에 좌표값을 갖고 있는Virus
객체를 각각 삽입한다. - 1부터
K
까지의 바이러스 번호를 보유한 인접리스트로부터 좌표값을 갖고 있는Virus
객체를 큐에 각각 추가한다. - BFS를 수행하면서 다음 위치로 이동할 수 있을 때마다 좌표값과 현재 바이러스가 퍼지기까지 걸린 시간으로
Virus
객체를 구성한다. - 위의 과정을 바이러스가 퍼지기까지 걸린 시간이
S
인Virus
객체를 큐에서 꺼낼 때까지 수행한다.
소스코드
문제링크
'Coding Test > Solved' 카테고리의 다른 글
[BOJ] 백준 2667번 - 단지번호붙이기(with Java) (0) | 2022.06.28 |
---|---|
[BOJ] 백준 2606번 - 바이러스(with Java) (0) | 2022.06.28 |
[BOJ] 백준 1697번 - 숨바꼭질(with Java) (0) | 2022.06.28 |
[BOJ] 백준 2644번 - 촌수계산(with Java) (0) | 2022.06.26 |
[BOJ] 백준 1260번 - DFS와 BFS(with Java) (0) | 2022.06.26 |
댓글