상위 150개 인터뷰쉬움

디자인 추가 및 검색 단어

'디자인 추가 및 검색 단어' 문제에 대한 자세한 가이드 및 Python 구현입니다.

문제 설명

쉬움

새로운 단어를 추가하고 문자열이 이전에 추가된 문자열과 일치하는지 찾는 것을 지원하는 데이터 구조를 설계합니다.

WordDictionary 클래스를 구현합니다.

- WordDictionary() 개체를 초기화합니다.

- addWord(word: str) 데이터 구조에 단어를 추가합니다. 나중에 일치시킬 수 있습니다.

- search(word: str) -> bool 데이터 구조에 word와 일치하는 문자열이 있으면 True를 반환하고 그렇지 않으면 False를 반환합니다. 단어에는 점 '.'이 포함될 수 있습니다. 여기서 점은 어떤 문자와도 일치할 수 있습니다.

입력은 작업 및 인수 목록입니다. 결과 목록을 반환하는 wordDictionary(operations: list, arguments: list) -> list 함수를 구현합니다(생성자/addWord의 경우 없음, 검색의 경우 bool).

제약
  • 1 <= len(word) <= 25
  • word in addWord consists of lowercase English letters
  • word in search consists of '.' or lowercase English letters
  • At most 10^4 calls will be made to addWord and search

Example 1
Input
operations = ["WordDictionary", "addWord", "addWord", "addWord", "search", "search", "search", "search"], arguments = [[], ["bad"], ["dad"], ["mad"], ["pad"], ["bad"], [".ad"], ["b.."]]
Output
[None, None, None, None, False, True, True, True]
Explanation

Initialize. Add "bad", "dad", "mad". search("pad") -> False. search("bad") -> True. search(".ad") -> True. search("b..") -> True.

Need a Hint?
세트나 힙과 같은 Trie 특정 데이터 구조를 사용하는 것을 고려해보세요.
Edge Cases to Watch
  • 빈 입력 구조
  • 단일 요소 입력
  • 큰 수치 범위

해결할 준비가 되셨나요?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

편집기에서 열기
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

권장 Python 리소스

관련 대화형 튜토리얼, 치트 시트, 코드 비교를 통해 지식을 확장하세요.