https://school.programmers.co.kr/learn/courses/30/lessons/42578
문제 해결을 위한 과정
이 문제의 경우 dict를 이용하면 쉽게 해결할 수 있었습니다. 얼굴(1번 용품, 2번 용품), 상의(1번 용품, 2번 용품), 하의(1번 용품) 이렇게 있을 때 입는 경우는 다음과 같습니다.
얼굴(1번 용품, 2번 용품, 아무것도 안 입는 경우) - 3가지
상의(1번 용품, 2번 용품, 아무것도 안입는 경우) - 3가지
하의(1번 용품, 아무것도 안 입는 경우) - 2가지
결과 = 3 x 3 x 2 - 1(아무것도 안 입는 경우)
이를 일반화 하면 다음과 같습니다.
(얼굴 + 1) * (상의 + 1) * (하의 * 1) - 1
소스코드
def solution(clothes):
answer = 1
cloth_dict = {}
for name, type in clothes:
if type in cloth_dict:
cloth_dict[type] += 1
else:
cloth_dict[type] = 1
for name, type in clothes:
if cloth_dict[type] != 0:
num = cloth_dict[type]
cloth_dict[type] = 0
answer *= (num + 1)
answer -= 1
return answer
'알고리즘 > 프로그래머스' 카테고리의 다른 글
프로그래머스 폰켓몬(Python) (0) | 2024.04.07 |
---|---|
프로그래머스 전화번호 목록(Python) (1) | 2024.04.07 |
신고 결과 받기(Python) (0) | 2022.02.20 |
실패율 (Python) (0) | 2021.01.11 |
가사 검색 (Python) (0) | 2020.12.17 |