학교에서 운동회를 준비하며 학생들을 홍팀과 청팀으로 나누려고 합니다. 학생들 간의 친구 관계를 나타내는 2차원 배열 friends 가 주어집니다.
friends[i]는 i번째 학생과 친구인 학생들의 번호를 나타냅니다.
친구 관계는 대칭적이며, 즉 학생 A가 학생 B의 친구라면, B도 A의 친구입니다.
일부 학생들은 친구가 없을 수도 있습니다.
당신의 목표는 학생들을 두 팀으로 나누는 것입니다.
단, 같은 팀에 속한 학생들끼리는 친구 관계가 없어야 합니다.
주어진 친구 관계를 바탕으로, 학생들을 두 팀으로 나눌 수 있다면 True, 그렇지 않다면 False를 반환하는 solution 함수를 작성하세요.
예시 1:
입력: friends = [[1], [2], [0]]
출력: false
예시 2:
입력: friends = [[1, 2], [0, 3], [0], [1]]
출력: true
friends.length == n
1 ≤ n ≤ 100
0 ≤ friends[u].length < n
0 ≤ friends[u][v] < n
friends[u][v]는 양의 정수입니다.
friends[u]는 u를 원소로 갖지 않습니다.
friends[u]에 속한 모든 값은 중복이 없습니다.
만약 friends[u] 에 v가 있다면, friends[v]에는 u가 속해있습니다.
[[1],[2],[0]]