BOJ - 5567

주의·2023년 12월 3일
0

boj

목록 보기
31/214

백준 문제 링크
결혼식

❓접근법

  1. BFS를 사용했다.
  2. 친구와 친구의 친구인지 확인했을 때 방문하지 않았다면 몇 번 방문했는지 count해준다.
  3. 상근이부터 방문시킨 후 친구(2)와 친구의 친구(3)가
    각각 2번, 3번 count된 값의 개수를 찾는다.

👌🏻코드

from collections import deque


n = int(input())
m = int(input())                
visited = [0 for i in range(n + 1)]

graph = [[] for _ in range(n + 1)]
for _ in range(m):
    a, b = map(int, input().split())
    graph[a].append(b)
    graph[b].append(a)

    
def bfs(v):
    queue = deque()
    queue.append(v)
    
    visited[v] = 1
    
    while queue:
        x = queue.popleft()
        
        for i in graph[x]:
            if visited[i] == 0:
                visited[i] = visited[x] + 1
                queue.append(i)
                
bfs(1) # visited 만듦


print(visited.count(2) + visited.count(3)) # 친구는 2, 친구의 친구는 3

나는 이런 문제보다 지도 문제를 더 잘 푸는 것 같다 ㅠㅠ 연습 좀 더 해야겠다.

0개의 댓글