Coding - Algo/python
[프로그래머스] 위장 (python 파이썬)
jainn
2021. 6. 13. 00:11
728x90
문제
https://programmers.co.kr/learn/courses/30/lessons/42578
풀이 및 소스코드
딕셔너리를 사용해 풀었다.
key 값에는 headgear 와 같은 의상의 종류를 넣고 value 값에는 의상 종류에 대한 가짓수를 넣었다.
가짓수를 처음에 2로 초기화 했다.
실제는 1가지가 있는 게 맞지만 경우의 수를 구하기 위해서 그렇게 했다.
만약 headgear가 2종류, pants가 2종류라고 했을 때 입지 않은 경우도 있기 때문에
(2+1)*(2+1)을 해준 후, 둘다 입지 않은 경우는 없기 때문에 -1를 해주면 된다.
def solution(clothes):
answer = 1
dic = {}
for c in clothes:
if c[1] in dic.keys():
dic[c[1]] += 1
else:
dic[c[1]] = 2
for i in dic.values():
answer *= i
answer -= 1
return answer
반응형