알고리즘/문제
[해시] 프로그래머스 위장
_Min
2021. 5. 3. 14:46
문제링크 programmers.co.kr/learn/courses/30/lessons/42578
[답코드]
def solution(clothes):
answer = 1
dict={}
for c in clothes:
if c[1] not in dict:
dict[c[1]]=1
else:
dict[c[1]]+=1
for k, v in dict.items():
answer*=(v+1)
return answer-1
[풀이법]
해당 예시에서 생성되는 dict는 {'headgear': 2, 'eyewear': 1} 이다.
여기서 headgear를 안 쓰는 경우, 1번 headgear를 쓰는 경우, 2번 headger를 쓰는 경우 3가지가 있다
eyewear를 안 쓰는 경우, 1번 eyewear를 쓰는 경우 2가지가 있다.
둘을 곱하면 2*3=6인데 여기서 headgear와 eyegear 모두 한 쓰는 경우 1가지를 빼면 5가 나온다
728x90