학습 자료
코딩 퀴즈
이번 코딩 퀴즈는 자체 해시 테이블을 구현하고, 이를 활용해 특정 작업을 수행하는 프로그램을 작성합니다.
구현해야 할 해시 테이블은 키-값 쌍을 저장하고, 주어진 키에 대한 값을 검색하는 기능을 제공해야 합니다.
이 문제에서는 해시 테이블을 이용해 주어진 문자열 내의 각 문자가 몇 번 등장하는지를 계산하는 프로그램을 만듭니다.
해시 테이블 코드 템플릿
class HashTable: def __init__(self): self.size = 256 self.table = [[] for _ in range(self.size)] def put(self, key, value): hash_key = hash(key) % self.size for item in self.table[hash_key]: if item[0] == key: item[1] = value return self.table[hash_key].append([key, value]) def get(self, key): hash_key = hash(key) % self.size for item in self.table[hash_key]: if item[0] == key: return item[1] return None def count_characters(self, string): # 여기에 코드를 작성하세요 return # 여기에 코드를 작성하세요 def solution(s): hash_table = HashTable() return hash_table.count_characters(s)
제한 사항
- 해시 테이블의 크기는 고정되어 있으며, 크기는 256으로 합니다.
입출력 예시
-
입력:
"hello" -
출력:
{'h': 1, 'e': 1, 'l': 2, 'o': 1}
이 챕터의 강의 · 자료구조 / 알고리즘 입문 - 시간 복잡도, 공간 복잡도, 배열, 스택, 큐, 연결 리스트, 해시 테이블
- 1. 프로그래밍의 핵심, 자료구조와 알고리즘
- 2. 알고리즘의 복잡도(Complexity)란?
- 3. 알고리즘의 시간, 공간 복잡도
- 4. 데이터를 순차적으로 저장하는 배열(Array)
- 5. 코딩 퀴즈 - 배열(Array) 구현하기
- 6. 마지막에 들어간 데이터가 가장 먼저 나오는 스택(Stack)
- 7. 코딩 퀴즈 - 스택(Stack) 구현하기
- 8. 먼저 들어간 데이터가 먼저 나오는 큐(Queue)
- 9. 코딩 퀴즈 - 큐(Queue) 구현하기
- 10. 데이터를 노드로 연결해 구성하는 연결 리스트(Linked List)
- 11. 코딩 퀴즈 - 연결 리스트(Linked List) 구현하기
- 12. 키-값으로 데이터를 저장하는 해시 테이블(Hash Table)
- 13. 코딩 퀴즈 - 해시 테이블(Hash Table) 구현하기
학습 자료
AI 튜터
디자인
업로드
수업 노트
즐겨찾기
도움말