0131_프로그래머스_해시_의상
프로그래머스 코딩테스트 > 해시
hash 는 데이터의 효율적인 저장과 검색을 위해 ‘Key’와 ‘value ‘ 의 셋트로 구성된다. 파이썬에서는 dictionary 로 구현된다.
dict_obj = {"Fruit":["Mango","Banana"], "Color":["Blue", "Red"]}
#print(dict_obj["Fruit"]) # ["Mango", "Banana"]
update 하는 방법
dict_obj["taste"] = ["sweet", "bit"]
혹은 dict_obj 처럼 value가 배열로 정리되고 있다면 append 메소드를 이용해서 value 값 추가 가능.
의상 문제도 value 를 배열로 관리해서 풀 수 있었다.
입출력 예시 clothes = [[“yellow_hat”, “headgear”], [“blue_sunglasses”, “eyewear”], [“green_turban”, “headgear”]] return = 5
def solution(clothes):
hash = dict()
num_cat = []
result = 1
for name, cat in clothes:
if cat in hash:
hash[cat].append(name)
else:
hash[cat] = [name]
# {"eyewear":["blue_sunglasses"], "headgear":["yellow_hat","green_turban"]}
for key in hash:
num_cat.append(len(hash[key]))
for num in num_cat:
result = result * (num+1)
return result - 1
result 에 num+1 을 곱하는 이유는 옷을 입고, 안입고 경우의 수는 2가지 이기 때문이다. 전부 안입는 경우는 제외해야 하기 때문에 마지막에 result -1 한 값을 출력한다.
Leave a comment