1. 문제
programmers.co.kr/learn/courses/30/lessons/42890
2. 풀이
파이썬의 combinations 기능을 이용하여 모든 조합을 구한다.
모든 조합을 구해서 부분집합인 답안을 빼려 했다.
그 후 모든 답안의 개수를 answer에 집어넣는다.
3. 코드
from itertools import combinations
def solution(relation):
answerList = []
# 모든 경우 구하기
N =[]
for i in range(len(relation)):
N.append(i+1)
allList = []
for i in range(len(N)):
combi = list(combinations(N, i))
for j in combi:
combielement = []
for k in j:
combielement.append(k)
allList.append(combielement)
for i in allList:
a = []
for j in relation:
element = ''
for k in range(len(i)):
element += j[i[k]-1]
a.append(element)
b = set(a)
c = list(b)
if(len(a) == len(c)):
answerList.append(i)
answerList.sort()
for i in range(len(answerList)):
for j in range(i,len(answerList)):
if len(answerList) <= j:
break;
s1 = set(answerList[i])
s2 = set(answerList[j])
if s1 == s1.intersection(s2):
del answerList[j]
j = j-1
answer = len(answerList)
return answer
4. 그외
파이썬 코드가 손에 안익어서 수도코드는 다 짰는데 자꾸 구현에 실패한다..
조급해하지말고 노력하면 되겠지..ㅠㅠ
'ALGORITHM > Kakao' 카테고리의 다른 글
(C++)2021 KAKAO BLIND RECRUITMENT 합승 택시 요금 (0) | 2021.05.04 |
---|---|
2019 KAKAO BLIND RECRUITMENT 무지의 먹방 라이브 (0) | 2021.04.01 |
(Python) 2019 KAKAO BLIND RECRUITMENT 실패율 (0) | 2021.03.25 |
(Python) 2019 KAKAO BLIND RECRUITMENT오픈채팅방 (0) | 2021.03.24 |
미완성코드/(C++)2018 KAKAO BLIND RECRUITMENT[3차] 자동완성 (0) | 2021.03.23 |