https://school.programmers.co.kr/learn/courses/30/lessons/42578
코니는 각 종류별로 최대 1가지 의상만 착용할 수 있습니다. 예를 들어 위 예시의 경우 동그란 안경과 검정 선글라스를 동시에 착용할 수는 없습니다.
착용한 의상의 일부가 겹치더라도, 다른 의상이 겹치지 않거나, 혹은 의상을 추가로 더 착용한 경우에는 서로 다른 방법으로 옷을 착용한 것으로 계산합니다.
코니는 하루에 최소 한 개의 의상은 입습니다.
코니가 가진 의상들이 담긴 2차원 배열 clothes가 주어질 때 서로 다른 옷의 조합의 수를 return 하도록 solution 함수를 작성해주세요.
문제 종류도 해시라고 나와있지만, 이와같은 문제는 해시로 접근하면 빠른 수행시간을 가질 수 있다.
파이썬에서는 해시라는 문법이 라이브러리가 아닌 본인이 구현해야하는데, 중괄호면 된다. ㅋ
주어진 list들을 봤을 때, 옷의 이름과 옷의 종류로 나눠져 있다.
이것을 반복문을 통해 접근해서, 해시의 값을 주어 경우의 수를 연산하면 된다.
def solution(clothes):
answer = 1
kind = {}
for name, cloth_type in clothes:
if cloth_type not in kind:
kind[cloth_type] = 2
else:
kind[cloth_type] += 1
for num in kind.values():
answer *= num
return answer - 1
[Programmers][Python] 캐시 (0) | 2024.01.05 |
---|---|
[LeetCode][Python]300. Longest Increasing Subsequence (1) | 2024.01.05 |
[LeetCode][Python]2870. Minimum Number of Operations to Make Array Empty (0) | 2024.01.04 |
[LeetCode][Python]2125. Number of Laser Beams in a Bank (1) | 2024.01.04 |
[LeetCode][Python] 7. Reverse Integer (0) | 2024.01.02 |
댓글 영역