반응형
문제 설명
알고리즘 고민
처음에는 각각을 딕셔너리로 만든 후에 조합을 이용해서 구해야 겠다고 생각했다. 그러나 아무리 해도 모든 경우를 조합으로 구한다는 것이 시간이 너무 오래 걸릴 것 같고 접근 자체가 robust하다고 생각해서 다른 방법을 생각해보았다. 결국 조합의 모든 경우의 수에서 아무 것도 입지 않는 경우를 제외한다면 모든 경우의 수 이므로 각 옷의 종류 별 개수를 구하고 하나 더한 값을 모두 곱한 후 하나를 빼서 해결하였다.
코드
def solution(clothes):
closets = {}
for i in clothes:
if i[1] not in closets:
closets[i[1]] = 1
else:
closets[i[1]] += 1
answer = 1
for j in closets:
answer *= (closets[j]+1)
answer -= 1
return answer
반응형
'알고리즘' 카테고리의 다른 글
프로그래머스 - 튜플(Python) (0) | 2025.02.10 |
---|---|
프로그래머스 - [1차]캐시(Python) (0) | 2025.02.09 |
프로그래머스 - 영어 끝말잇기(Python) (0) | 2025.02.07 |
프로그래머스 - 2 x n 타일링(Python) (0) | 2025.02.04 |
프로그래머스 - 택배상자(Python) (0) | 2025.01.24 |