[프로그래머스] 위장

박신희·2022년 4월 9일
0
post-thumbnail

🤜 풀이

def solution(clothes):
    answer = 1
    fashion=dict()
    
    # clothes type에 따라서 몇가지가 있는지 count하는 딕셔너리 생성
    for c,t in clothes:
        fashion[t]=fashion.get(t,0)+1
        
    # 입을 수 있는 모든 경우의 수 계산            
    for n in fashion.values():
        answer*=(n+1)
    
    return answer-1

가짓수를 구하는 것까지는 알겠던데, 모든 경우의 수를 어떻게 구할지 한참 생각한 후, 결국 알아내지 못한 채 검색해서 이해했ㄷr.. 😂

중고등학생 때 배웠던 수학같은데, 다까먹어버렸나 보다 ㅠ

get 함수

    for c,t in clothes:
        fashion[t]=fashion.get(t,0)+1

여기서 get 함수는 fashion[t]에 아무것도 없을 때에는 default값인 0에 1을 더해준 다는 것이고 만약에 있다면 그 후부터는 기존의 값에서 1을 더해준다는 것이다.
get함수를 쓰지 않고 if문을 이용해 구현한다면 아래의 경우처럼 된다.

    for c,t in clothes:
        if t in fashion:
            fashion[t]+=1
        else:
            fashion[t]=1
profile
log my moments 'u')/

0개의 댓글