반응형
접근
- 경우의 수를 잘 생각해야 하는 문제
- 최소한 1개의 옷을 입어야 하므로 모두 안입은 경우를 -1 해야 한다.
- 각각의 경우의 수에서 옷의 종류는 독립변수로 작용한다.
# 위장 level2
# 3시 57분 ~ 4시 43분
# 경우의 수 문제 종류가 2인 경우 00, 10, 01, 11 2*2 -1(00)
def solution(clothes):
answer = 1
hmap = dict()
for i in range(len(clothes)):
if clothes[i][1] in hmap.keys():
hmap[clothes[i][1]] = hmap[clothes[i][1]] + 1
else:
hmap[clothes[i][1]] = 1
value_list = hmap.values()
for value in value_list:
answer *= (value + 1)
answer = answer - 1
return answer
def solution2(clothes):
answer = 1
hmap = {}
for _, cate in clothes:
if cate in hmap.keys():
hmap[cate] = hmap[cate] + 1
else:
hmap[cate] = 2
value_list = hmap.values()
for value in value_list:
answer *= value
return answer - 1
'코딩테스트 > 파이썬' 카테고리의 다른 글
[프로그래머스] Summer/Winter Coding(~2018) 소수 만들기 (파이썬) (0) | 2021.06.18 |
---|---|
[프로그래머스] 예상 대진표(level 2) (파이썬) (0) | 2021.05.19 |
[프로그래머스] 다음 큰 숫자(level 2) (파이썬) (0) | 2021.05.18 |
[프로그래머스] 기능 개발(level 2) (파이썬) (0) | 2021.05.10 |
[프로그래머스] 주식가격(level 2) (파이썬) (0) | 2021.05.07 |