조회 테이블로 사용하는 딕셔너리
빠르게 접근하도록 키를 값에 매핑합니다
조회 테이블로 사용하는 딕셔너리은(는) CoddyKit의 무료 Competitive Programming Academy 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Competitive Programming Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Competitive Programming Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
딕셔너리의 개념
딕셔너리는 키를 값에 대응시켜 저장된 답을 하나씩 검색하지 않고 이름으로 가져올 수 있게 합니다. 대회에서 사용하는 조회표라고 생각하시면 됩니다. 🔑
상수 시간 접근
집합과 마찬가지로 딕셔너리는 키를 해시하므로 읽기와 쓰기가 대략 O(1)에 이루어집니다. 느린 선형 검색을 대신할 수 있는 이유가 바로 이 속도입니다.
딕셔너리 만들기
중괄호 안에 키와 값의 쌍을 작성하거나, 중괄호 한 쌍으로 빈 딕셔너리를 시작하십시오. 각 키는 정확히 하나의 값을 가리킵니다.
age = {'amy': 21, 'bob': 19}
empty = {}키로 읽기
키를 대괄호로 감싸 값을 가져오십시오. 키는 인덱스처럼 작동하지만 문자열, 숫자 또는 튜플일 수 있습니다.
print(age['amy'])없는 키는 오류를 일으킵니다
대괄호로 없는 키를 읽으면 KeyError가 발생합니다. 대회에서는 즉시 실행 오류 판정을 받게 됩니다.
get으로 안전하게 읽기
키가 없을 때 오류를 일으키는 대신 기본값을 반환하려면 get을 사용하십시오. 있을 수도 없을 수도 있는 키를 안전하게 읽는 방법입니다.
count = age.get('zoe', 0)삽입과 갱신
키에 값을 할당하면 키가 새로 추가되거나 기존 값이 덮어써집니다. 같은 문법으로 삽입과 갱신을 모두 처리할 수 있습니다.
age['cara'] = 25
age['amy'] = 22읽기 전에 확인하기
키에 의존하기 전에 포함 여부를 확인하십시오. 이렇게 하면 KeyError를 방지하고 로직을 명확하게 유지할 수 있습니다.
if 'bob' in age:
print(age['bob'])값을 위치에 대응시키기
자주 사용하는 방법은 각 값의 인덱스를 저장해 두었다가 나중에 한 번에 위치를 조회하는 것입니다. 쌍을 찾는 문제에 특히 유용합니다.
pos = {}
for i, v in enumerate(nums):
pos[v] = i쌍을 순회하기
키와 값을 함께 순회하려면 항목 순회를 사용하십시오. 반복문 안에서 각 값을 다시 조회하는 것보다 깔끔합니다.
for name, a in age.items():
print(name, a)키는 해시 가능해야 합니다
딕셔너리 키는 해시 가능해야 하므로 숫자, 문자열 또는 튜플을 사용하십시오. 리스트는 키가 될 수 없지만 정수로 이루어진 튜플은 가능합니다.
seen = {(0, 0): 'start'}간단히 확인하기
오류를 일으키지 않고 존재하지 않을 수도 있는 키를 읽고 싶습니다.
복습
딕셔너리는 O(1) 검색을 위해 키를 값에 대응시킵니다. 안전하게 읽을 때는 get을 사용하고, 인덱스를 저장해 느린 검색을 즉시 조회로 바꾸십시오. 🚀
자주 묻는 질문
“조회 테이블로 사용하는 딕셔너리” 강의는 무료인가요?
네 — “조회 테이블로 사용하는 딕셔너리” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Competitive Programming Academy 강의 전체를 잠금 해제할 수 있습니다. Competitive Programming Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“조회 테이블로 사용하는 딕셔너리”에서 뭘 배우나요?
빠르게 접근하도록 키를 값에 매핑합니다 브라우저에서 직접 실행하는 실습 코드로 Competitive Programming Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Competitive Programming Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Competitive Programming Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.
“조회 테이블로 사용하는 딕셔너리” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Competitive Programming Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Competitive Programming Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 멤버십 확인과 중복 제거를 위한 집합
- 조회 테이블로 사용하는 딕셔너리
- Counter와 defaultdict 활용하기
- 맵으로 그룹과 버킷 만들기