Search
Duplicate

후보키

문제 설명 및 제한사항

아이디어 및 해결 방법

코드

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