이 포스팅은 프로그래머스 시리즈 28 편 중 21 번째 글 입니다.
목차
풀이
그냥 막 풀었다. 컨디션이 좋지 않다. 이전에 풀었던게 더 깔끔하더라. 그리고 같은 부분에서 틀렸다. 멍청해.
Code
from itertools import combinations
def solution(relation):
index_gen_list = [ i for i in range(len(relation[0]))]
col_combi = []
for size in range(1, len(relation[0])+1):
combi = [x for x in list(combinations(index_gen_list, size))]
for i in combi:
col_combi.append(",".join(list(map(str, i))))
answer_list = []
for candidate in col_combi:
A = set()
for row in range(len(relation)):
temp = ""
for col in candidate.split(","):
temp += (str(col) + "_" + relation[row][int(col)])
A.add(temp)
if len(A) == len(relation):
flag = False
for ans in answer_list:
count = 0
for a in ans:
if a in candidate:
count += 1
if count == len(ans):
flag = True
break
if flag == False:
answer_list.append(candidate)
return len(answer_list)