728x90
반응형
1. 문제 설명
2. 풀이과정
- 의상 종류별로 구분하기 위해 딕셔너리를 생성한다. d = {}
- 입력받은 의상을 하나씩 추출한다. for i in clothes
- 만약 이미 추출한 의상 종류가 딕셔너리에 존재하면 if (i[1] in d)
- 의상 종류의 값에 1을 더한다. d[i[1]] += 1
- 반면에 추출한 의상 종류가 처음이라면 else
- 의상 종류의 값을 1로 하여 새로 저장한다. d[i[1]] = 1
- 각 의상의 선택 가지 수를 저장할 리스트를 생성한다. count = list()
- 분류한 의상 종류별 수를 하나씩 추출한다. for i in d.items()
- 의상 수에 1을 더하여 리스트에 추가한다. count.append(i[1] + 1)
- 1을 더하는 이유는 안 입는 경우를 고려했기 때문이다.
- 전체 입을 수 있는 경우의 수를 저장할 변수를 생성하고 1로 초기화한다. total = 1
- 입을 수 있는 의상의 가지 수를 하나씩 추출하여 for i in count
- 전체 경우의 수에 곱한다. total *= i
- 전체 경우의 수는 모두 안 입는 경우가 포함되어 있으므로 1을 빼준 값을 최종 저장한다. answer = total - 1
반응형
3. 소스코드
def solution(clothes):
answer = 0
d = {}
for i in clothes:
if (i[1] in d):
d[i[1]] += 1
else:
d[i[1]] = 1
count = list()
for i in d.items():
count.append(i[1] + 1)
total = 1
for i in count:
total *= i
answer = total - 1
return answer
728x90
반응형
'프로그래머스 > Python' 카테고리의 다른 글
[프로그래머스] 기능개발 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.23 |
---|---|
[프로그래머스] 카드 뭉치 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.23 |
[프로그래머스] 튜플 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.22 |
[프로그래머스] 과일 장수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.22 |
[프로그래머스] [1차] 캐시 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.19 |
[프로그래머스] 행렬의 곱셈 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.19 |
[프로그래머스] 폰켓몬 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.18 |
[프로그래머스] 명예의 전당(1) - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.18 |