문제 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/42578
#해시
dictionary 자료구조를 이용해 해싱, 빠르게 캐싱
기존 [["yellow_hat", "headgear"], ["blue_sunglasses", "eyewear"], ["green_turban", "headgear"]]
-> 종류를 key로 다시 dictionary 생성
{"headgear" : ["yellow_hat","green_turban"], "eyewear" : ["blue_sunglasses"] }
해싱까진 생각했는데 이후 경우의 수 생성에서 막힘
ex) {"a":["z","x","y"] , "b":["u"], "c":["v","t"]}
-> len(a)+len(b)+len(c)+len(a)len(b)+len(a)len(c)+len(b)len(c)+len(a)len(b)len(c)
이걸 어떻게 구할까? ( 순열? 경우의 수?)
중복순열? 순열의 관점 맞음. 그러나 아무것도 선택하지 않는 경우 추가
abc : ["z","x","y", X ]["u", X ]["v","t", X ] -1( 전부 다 X인 경우)
수학적으로 모델링 하고싶다...