Counter와 defaultdict 활용하기
키 누락 오류 없이 항목을 셉니다
Counter와 defaultdict 활용하기은(는) CoddyKit의 무료 Coding Interview Prep 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Coding Interview Prep 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Coding Interview Prep 강의에는 총 4개의 강의가 포함되어 있습니다.
쉽게 세기
항목이 몇 번 나타나는지 세는 일은 대회 문제 어디에서나 등장합니다. 컬렉션 모듈은 세기를 쉽게 해 주는 두 가지 도구를 제공합니다. 🧮
없는 키 문제
일반 딕셔너리에서는 아직 존재하지 않는 키의 값을 증가시키면 KeyError가 발생합니다. 특수한 자료 구조를 사용하면 이 번거로움을 없앨 수 있습니다.
카운터 만나기
카운터는 어떤 반복 가능한 객체든 한 줄로 세어 각 항목의 빈도를 값으로 제공합니다. 없는 키는 단순히 0으로 계산됩니다.
from collections import Counter
freq = Counter(nums)개수 읽기
카운터를 딕셔너리처럼 인덱싱할 수 있지만, 없는 키를 읽으면 오류 대신 0을 반환합니다. 따라서 조회가 완전히 안전합니다.
print(freq[5])
print(freq[999])가장 많이 나타나는 항목
most_common을 호출하면 개수가 많은 항목부터 내림차순으로 정렬해 가져옵니다. 숫자를 전달하면 상위 항목을 몇 개 받을지 제한할 수 있습니다.
top3 = freq.most_common(3)카운터로 계산하기
두 카운터를 add하거나 뺄 수 있습니다. 일치하는 키를 합치고 합계를 자동으로 맞춰 줍니다.
total = Counter(a) + Counter(b)기본값 딕셔너리 만나기
기본값 딕셔너리는 새 키마다 새로운 기본값을 제공하므로 먼저 존재 여부를 확인할 필요가 없습니다. 기본값을 만드는 함수를 지정하면 됩니다.
from collections import defaultdict
count = defaultdict(int)확인 없이 증가시키기
기본값 딕셔너리(정수)를 사용하면 없는 키가 0에서 시작하므로 바로 증가시킬 수 있습니다. 반복문에 if 조건을 넣어 흐름을 어지럽힐 필요가 없습니다.
for v in nums:
count[v] += 1기본값을 리스트로 설정하기
각 키에 여러 값을 모아야 할 때는 기본값 딕셔너리(리스트)를 사용하십시오. 새 키에 값을 추가하면 빈 리스트가 새로 시작됩니다.
groups = defaultdict(list)
groups[key].append(item)카운터와 기본값 딕셔너리
항목의 개수만 셀 때는 카운터를 사용하고, 각 키에 리스트나 집합 또는 사용자 지정 기본값이 필요할 때는 기본값 딕셔너리를 사용하십시오. 🎯
한 줄로 애너그램 판별하기
두 단어의 카운터가 같을 때 그리고 그럴 때만 두 단어는 애너그램입니다. 비교 한 번으로 모든 문자의 빈도를 동시에 처리할 수 있습니다.
is_anagram = Counter(s) == Counter(t)간단히 확인하기
없는 키를 안전하게 증가시키면서 등장 횟수를 세고 싶습니다.
복습
카운터는 항목을 즉시 세고 순위를 매기며, 기본값 딕셔너리는 개수, 리스트 또는 집합을 다룰 때 없는 키를 확인하는 과정을 생략하게 합니다. 두 도구 모두 반복적인 기본 코드를 없애 줍니다. 🚀
자주 묻는 질문
“Counter와 defaultdict 활용하기” 강의는 무료인가요?
네 — “Counter와 defaultdict 활용하기” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Coding Interview Prep 강의 전체를 잠금 해제할 수 있습니다. Coding Interview Prep 강의에는 총 4개의 강의가 포함되어 있습니다.
“Counter와 defaultdict 활용하기”에서 뭘 배우나요?
키 누락 오류 없이 항목을 셉니다 브라우저에서 직접 실행하는 실습 코드로 Coding Interview Prep을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Coding Interview Prep을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Coding Interview Prep은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.
“Counter와 defaultdict 활용하기” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Coding Interview Prep 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Coding Interview Prep 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 멤버십 확인과 중복 제거를 위한 집합
- 조회 테이블로 사용하는 딕셔너리
- Counter와 defaultdict 활용하기
- 맵으로 그룹과 버킷 만들기