🗂️ 문제
링크: https://school.programmers.co.kr/learn/courses/30/lessons/42578
💡 접근법
딕셔너리를 생성하여 입력값 clothes의 의상의 종류를 Key로, 의상의 종류에 해당하는 의상의 이름을 value로 추가한다.
옷을 조합하는 경우의 수는 다음과 같다.
각각의 의상의 종류에서 의상을 0개 선택할 수도 있다. 따라서 의상의 개수 + 1을 종류 별로 계산하여 곱해주고, 적어도 하나의 의상은 입어야 하므로 곱한 값에서 1을 빼야 한다.
😎 내 코드
def solution(clothes):
answer = 0
cony = {}
for name, type in clothes:
if type in cony:
cony[type].append(name)
else:
cony[type] = [name]
case = 1
for c in cony:
case *= len(cony[c]) + 1
answer += case - 1
return answer
'Algorithm > Programmers' 카테고리의 다른 글
[힙] 프로그래머스 Lv3. 이중우선순위큐 - Python (0) | 2024.05.30 |
---|---|
[해시] 프로그래머스 Lv2. 전화번호 목록 - Python (0) | 2024.05.17 |
[DFS] 프로그래머스 Lv3. 네트워크 - Python (0) | 2024.05.15 |
[BFS] 프로그래머스 Lv2. 게임 맵 최단거리 - Python (0) | 2024.05.15 |
[이분탐색] 프로그래머스 Lv4. 징검다리 - Python (0) | 2024.05.09 |