조합 검사 중 조건을 만족할 시 조합의 부분조합을 구해 중복되는것이 있으면 세주지 않았습니다. from itertools import combinations def solution(relation): n = len(relation[0]) cnt = 0 checked = set() for i in range(1, n + 1): for comb in combinations([k for k in range(n)], i): dicts = set() tmp = [] for row in relation: tmp.append(''.join(row[each] for each in comb)) flag = 0 for c in tmp: if flag: break if c not in dicts: dicts.add(c) e..