행궁동 데이터 엔지니어

반응형

https://programmers.co.kr/learn/courses/30/lessons/42578

 

알고리즘 연습 - 위장 | 프로그래머스

실행 결과가 여기에 표시됩니다.

programmers.co.kr

배열로 동적변수를 만든다 라는 방식으로 접근했었는데,

배열로 동적변수를 만들고

만든 동적변수에 append를 하는 건 쉬는게 아닌거 같음.

 

나중에 생각해보기.

 

아래는 문제풀이 내용

1
2
3
4
5
6
7
8
9
10
11
12
13
from collections import defaultdict
 
def solution(clothes):
    num_clothes = defaultdict(int)
    for name, kind in clothes :
        num_clothes[kind] +=1
    
    answer = 1
    for i in num_clothes.values() :
        answer *= (i+1)
    
    
    return answer-1

 

다른사람 풀이(라이브러리를 사용하지 않았고, 가장 알아보기 쉬웠음)

1
2
3
4
5
6
7
8
9
10
11
12
def solution(clothes):
    answer = 1
    aDict = {}
    for i in clothes:
        if i[1in aDict:
            aDict[i[1]] += 1
        else:
            aDict[i[1]] = 1
    for i in aDict.keys():
        answer *= aDict[i] +1
    answer -= 1
    return answer

 

반응형

이 글을 공유합시다

facebook twitter kakaoTalk kakaostory naver band