문제
https://school.programmers.co.kr/learn/courses/30/lessons/42578
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 접근 방식
옷을 조합하는 경우의 수를 구하는 문제이며, 종류 별로 최대 1가지 의상을 착용할 수 있다. 또한, 하루에 최소 1개의 의상은 입어야하는 조건이 있다.
특정 종류의 옷이 k 개 존재할 때, 코니가 옷을 고르는 방법은 k 개중 옷을 고르거나 옷을 고르지 않는 방법이 존재한다. 즉, 코니가 선택할 수 있는 경우의 수는 (k+1) 이다.
따라서, 모든 옷의 종류에 대해 (옷의 가짓수 + 1)을 곱해주고, 모든 종류의 옷에 대해 선택하지 않는 경우의 수 1가지를 빼주면 구하고자 하는 답을 얻을 수 있다.
코드
def solution(clothes):
clothe_dict=dict()
for clothe,type in clothes:
clothe_dict[type]=clothe_dict.get(type,0)+1
answer=1
for count in clothe_dict.values():
answer*=count+1
# 모두 선택하지 않는 경우의 수 1가지 제외
answer-=1
return answer
'문제풀이 > 프로그래머스' 카테고리의 다른 글
다리를 지나는 트럭(프로그래머스) 문제풀이 (1) | 2024.04.12 |
---|---|
과제 진행하기(프로그래머스) 문제풀이 (0) | 2024.04.12 |
줄 서는 방법(프로그래머스) 문제풀이 (1) | 2024.04.12 |
점 찍기(프로그래머스) 문제풀이 (0) | 2024.04.05 |
테이블 해시 함수(프로그래머스) 문제풀이 (0) | 2024.04.05 |