https://www.acmicpc.net/problem/1043
import sys
input = sys.stdin.readline
N, M = map(int, input().split())
# 이미 알고 있는 사람들 번호 저장
knowList = set(input().split()[1:])
# 각 파티에 참석하는 사람의 번호 저장
partyList = list()
for _ in range(M):
partyList.append(set(input().split()[1:]))
for _ in range(M):
for party in partyList:
# 둘 사이에 교집합이 있으면 합집합해서 저장
if party & knowList:
knowList = knowList.union(party)
dap = 0
for party in partyList:
# 아는 사람이 파티에 한명이라도 있으면(교집합이 있으면) pass
if party & knowList:
continue
# 없으면 카운트
dap += 1
print(dap)'코딩테스트 > 코딩테스트 문제풀이' 카테고리의 다른 글
| [Python] 프로그래머스 <N개의 최소공배수> (0) | 2026.05.05 |
|---|---|
| [Python] 백준 <1091-카드 섞기> (0) | 2025.08.28 |
| [Python] 백준 <1112-진법 변환> (0) | 2025.08.28 |
| [Python] 프로그래머스 <미로 탈출 명령어> (0) | 2025.08.20 |
| [Python] 프로그래머스 <풍선 터트리기> (0) | 2025.08.15 |