[프로그래머스/파이썬] 해시 위장
https://programmers.co.kr/learn/courses/30/lessons/42578
알고리즘 분류
- 해시
문제풀이
array는 각 의상의 종류에 따른 의상들을 가지고 있다.
이를 활용해 lst는 종류 별 의상의 개수를 가지게 된다.
ex) lst=[1,2]
특정 종류의 옷을 항상 선택해야 하는 것은 아니므로 선택하지 않는 경우의 수까지 고려하여 각각의 경우에 +1씩해서 서로 곱해주고, 하루에 최소 한 개의 의상은 입으므로 모든 의상을 착용하지 않는 1을 빼준다.
(한 옷의 종류수 + 1(안입는경우의수))*(한 옷의 종류수 + 1(안입는경우의수))-(아무것도 안 입는경우의수)
소스코드
def solution(clothes):
kinds=[]
for i in clothes:
name,kind=i
kinds.append(kind)
kinds=set(kinds)
array={i:[] for i in kinds}
for i in clothes:
name,kind=i
array[kind].append(name)
lst=[]
for i in array:
lst.append(len(array[i]))
result=1
for i in lst:
result*=(i+1)
return (result-1)
Author And Source
이 문제에 관하여([프로그래머스/파이썬] 해시 위장), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@bye9/프로그래머스파이썬-해시-위장저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)