본문 바로가기

ETC

Programmers 코딩테스트 연습 위장 목록 Python 정답.

반응형

이 문제는 간단하게 조합!을 찾는 문제이다.

defaultdic같은 녀석을 쓰면 더 쉽게 풀 수 있지만,

단순히 key값을 세어 dictionary로 만든 후, 결과값들을 곱하는 식으로 구현하였다.

answer에 val+1 해주는 것은 1은 해당 종류 입지 않았을 때.

마지막에 -1 해주는 것은 공집합 제거해 주는 것

 

시간복잡도는 hashmap을 내부적으로 이용하므로 logn으로 매우매우 효율적

 

def solution(clothes):
    dic = {}
    answer = 1;
    for i in clothes:
        if i[1] not in list(dic.keys()):
            dic[i[1]] = 1
        else : dic[i[1]] = 1+ dic[str(i[1])]
    for val in dic.values():
        answer*=val+1
    answer-=1
    return answer
반응형