문제 설명 및 제한사항
아이디어 및 해결 방법
코드
import itertools
def powerset(x):
return itertools.chain(*[itertools.combinations(x, i) for i in range(1, len(x) + 1)])
def solution(relation):
n = len(relation)
candidates = []
col_idxs = list(range(len(relation[0])))
for cols in powerset(col_idxs):
items = set(tuple(r[col] for col in cols) for r in relation)
if len(items) == n and not any(x in candidates for x in powerset(cols)):
candidates.append(cols)
return len(candidates)
Python
복사
출처
프로그래머스 코딩테스트 연습 https://school.programmers.co.kr/learn/challenges