티스토리 뷰


완주하지 못한 선수에서 사용한 collections.Counter로 의상의 종류에 속하는 원소의 개수를 딕셔너리 형태로 저장한다.

의상의 종류가 겉옷, 상의, 하의가 있을 때 경우의 수를 구하는 공식은 (겉옷의 개수) * (상의의 개수) * (하의의 개수)이다.

그러나 이 공식은 각각의 옷을 최소 1개씩 입었을 상황이기 때문에 입지 않았을 때의 상황도 고려해 각각 1을 더하여 곱한다.

그러면 아무것도 입지 않는 경우의 수도 생긴다. 하지만 스파이는 최소 한 개의 의상을 입기 때문에 1을 빼 반환한다.

문제풀이

import collections
def solution(clothes):
	ans = 1
	lst = collections.Counter([x for i,x in clothes])
	for i in lst:
		ans *= lst[i] + 1
	return ans - 1
댓글
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Total
Today
Yesterday