https://school.programmers.co.kr/learn/courses/30/lessons/132265?language=python3
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
내 풀이
from collections import defaultdict
def solution(topping):
Top = defaultdict(int)
for i in topping:
Top[i] +=1
Top_set=set()
count=0
for i in topping:
Top[i] -=1
Top_set.add(i)
if Top[i] ==0:
Top.pop(i)
if len(Top) == len(Top_set):
count +=1
return count
defaultdict를 이용해서 있는거 추가해주고 어떤 key의 VALUE값이 0 이면 없애준다.
다른사람의 풀이
from collections import Counter
def solution(topping):
Top = Counter(topping)
count=0
Top_set=set()
for i in topping:
Top[i] -=1
Top_set.add(i)
if Top[i] ==0:
Top.pop(i)
if len(Top) == len(Top_set):
count +=1
return count
이게 더 나은 코드같다. 다 똑같은데 counter를 쓰면 편하게 셀 수 있다!
'취준 > 프로그래머스' 카테고리의 다른 글
택배상자 - 파이썬 (0) | 2022.11.03 |
---|---|
2개 이하로 다른 비트 - 파이썬 (0) | 2022.10.17 |
파일명 정렬 - 프로그래머스 (0) | 2022.10.11 |
n^2 배열 자르기 - 파이썬 (0) | 2022.10.11 |
방문 길이 - 파이썬 (1) | 2022.10.05 |