프로그래머스 해시 의상 문제

hyewon9913·2023년 10월 19일
0

코딩테스트(python)

목록 보기
5/46

먼저 의상의 종류를 딕셔너리의 키에 넣고 의상을 값에 넣어 주었다

for c in clothes:
        category = c[1]
        item = c[0]

        if category not in dic: # 키값에 해당 의상종류가 없을 때
            dic[category] = [item]
        else: #이미 해당 의상 종류가 키값에 있을 때
            dic[category].append(item)코드를 입력하세요

이때 위의 코드처럼 키값을 이미 넣어준 의상 종류에 해당되는 의상을 넣을 때와 아닐 때를 다르게 처리해주어야한다.

그렇지 않으면 value가 추가되는 것이 아니라 대체되어 모든 의상종류가 한 개의 value만 갖게되는 현상이 발생함

for key,value in dic.items(): # 각 종류별 의상의 수를 곱하면 조합의 수
        answer *= (len(value)+1)
   
    return answer-1 #아무것도 안고르는 경우 제외

그리고 조합의 개수를 구하는 방법으로는

(각 종류당 의상 수 +1) 를 for문으로 딕셔너리를 돌며 해주었다
왜 +1 을 해주었냐면 해당 의상종류에서 안고르는 경우도 포함 시킨 것이다.

그래서 마지막에 결과값에 아무의상도 고르지 않는 경우를 빼주기 위해 -1을 하여 return해준다.

profile
차근차근 굴러가는 코딩일지

0개의 댓글