1. 문제
2. 풀이 과정
from itertools import combinations
def solution(relation):
row = len(relation)
col = len(relation[0])
answer = set()
for i in range(1, col+1):
for com in combinations(range(col), i): #속성들의 조합
#최소성 검사
minimality = True
for a_tup in answer:
if set(a_tup) & set(com) == set(a_tup):
minimality = False
break
#최소성을 만족, 유일성 검사
if minimality:
temp = set()
for k in range(row):
temp.add(tuple(relation[k][y] for y in com))
if len(temp) == row:
answer.add(com)
return len(answer)
'코딩문제풀이 > 프로그래머스' 카테고리의 다른 글
[Python] 길 찾기 게임 (0) | 2021.09.11 |
---|---|
[Python] 무지의 먹방 (0) | 2021.09.10 |
[Python] 실패율 (0) | 2021.09.08 |
[Python] 오픈채팅방 (0) | 2021.09.08 |
[Python] 방의 개수 (0) | 2021.09.05 |