{}연습장
대시보드학습스킬 경로문제모의고사라이브 코테복습데이터
문제 목록〉BFS/DFS〉사내 협업 그룹 규모← 이전다음 →
#037 · BFS/DFS중간연결 요소,간선 목록

사내 협업 그룹 규모

문제

사내 협업 툴에는 사원 n명이 0번부터 n-1번까지 번호로 등록되어 있습니다. 두 사원이 같은 문서를 함께 편집한 적이 있으면 두 사람은 협업 관계입니다.

협업 기록 links가 주어집니다. links[i] = [a, b]는 사원 a와 사원 b가 협업했다는 뜻이며, 협업 관계에는 방향이 없습니다.

직접 협업하지 않았더라도 다른 사원을 거쳐 이어지면 같은 그룹으로 봅니다. 예를 들어 a-b, b-c가 있으면 a, b, c는 한 그룹입니다.

사원 수 n과 협업 기록 links가 주어질 때, 다음 두 값을 담은 배열 [가장 큰 그룹의 인원 수, 고립 사원 수]를 반환하는 solution(n, links) 함수를 작성하세요. 고립 사원은 아무와도 협업 기록이 없어 혼자인 사원입니다.

예시

n links 결과
8 [[0,1], [1,2], [2,0], [3,4], [6,7]] [3, 1]
5 [] [1, 5]
6 [[0,1], [1,2], [2,3], [3,4], [4,5]] [6, 0]
4 [[0,1], [1,0], [0,1]] [2, 2]

예시 1 설명: 그룹은 {0,1,2}, {3,4}, {6,7}, {5}로 나뉩니다. 가장 큰 그룹은 3명이고, 혼자인 사원은 5번 한 명입니다.

예시 2 설명: 협업 기록이 없어 다섯 명 모두 혼자입니다. 가장 큰 그룹의 크기도 1입니다.

예시 4 설명: 같은 두 사람의 협업이 여러 번 기록될 수 있습니다. {0,1}이 한 그룹이고 2, 3은 고립 사원입니다.

제약 조건

  • 1 ≤ n ≤ 100,000
  • 0 ≤ links.length ≤ 200,000
  • links[i] = [a, b]이고 0 ≤ a, b < n, a ≠ b
  • 같은 쌍이 여러 번 등장할 수 있습니다.
  • 반환 배열은 항상 길이 2입니다.

시간 복잡도 목표: O(n + links.length)

공간 복잡도 목표: O(n + links.length)

테스트 케이스

예시 1: {0,1,2}, {3,4}, {6,7}, {5}
입력: n = 8, links = [[0,1],[1,2],[2,0],[3,4],[6,7]]
출력: [3,1]
예시 2: 협업 기록 없음 → 전원 고립
입력: n = 5, links = []
출력: [1,5]
예시 3: 사슬 모양으로 전원이 한 그룹
입력: n = 6, links = [[0,1],[1,2],[2,3],[3,4],[4,5]]
출력: [6,0]
예시 4: 중복 기록 처리
입력: n = 4, links = [[0,1],[1,0],[0,1]]
출력: [2,2]
엣지: 사원이 한 명뿐
입력: n = 1, links = []
출력: [1,1]
엣지: 두 명이 한 그룹
입력: n = 2, links = [[0,1]]
출력: [2,0]
solution.ts
에디터 로딩 중…

▶ 실행은 기록 없이 채점만, 제출은 결과가 진행률·오답노트에 기록됩니다.