[프로그래머스] 위장 _ 파이썬

메링·2021년 6월 16일
0

알고리즘 문제

목록 보기
9/22

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

갈 길이 멀다 ~ 2단계도 어려운 나..
굳이 모든 조합을 실제로 구하려고 combination까지 쓰다가 포기..
다른 분들 풀이를 보니까 그냥 계산으로 세상 쉽게 푸셨....

풀이

  1. 옷 종류만 있는 list 생성
  2. Counter 써서 옷 종류별로 개수 세기
  3. (A+1)(B+1)(C+1)... -1 으로 계산
from collections import Counter
def solution(clothes):
    answer = 1
    kinds = [kind[1] for kind in clothes]
    count = Counter(kinds)
    for num in count.values():
        answer *= num+1
    return answer-1

Counter 함수

  • collections 모듈의 Counter 함수는 각 원소마다 몇 개 있는지 개수를 세서 dict 형태로 돌려줌
  • 배열, 문자열 모두 가능
  • dict형태이므로 dict에서 사용하는 values(), keys()를 활용해 이용 가능
profile
https://github.com/HeaRinKim

0개의 댓글