프로필사진

Go, Vantage point

가까운 곳을 걷지 않고 서는 먼 곳을 갈 수 없다.


Github | https://github.com/overnew/

Blog | https://everenew.tistory.com/





티스토리 뷰

반응형

문제

https://leetcode.com/problems/design-add-and-search-words-data-structure/

 

Design Add and Search Words Data Structure - LeetCode

Can you solve this real interview question? Design Add and Search Words Data Structure - Design a data structure that supports adding new words and finding if a string matches any previously added string. Implement the WordDictionary class: * WordDictionar

leetcode.com

 

 

풀이

 

난이도: Medium 

 

단순히  단어가 저장되었는지 여부를 파악하는 것이라면 Map 자료구조로 key에 대한 value가 존재하는지 조사하면 되지만, '.'으로 알파벳을 대체할 수 있기 때문에 다른 방식을 사용해야 한다.

 

따라서 이전 문제에서 공부했던 Tries를 활용해서 해결해 보았다.

 

트라이와 다른 점은 '.'은 모든 알파벳을 대체할 수 있으므로, search하는 word에 '.'이 들어간다면 모든 알파벳으로 분기할 수 있도록 해야 한다.

 

아래의 Trie 구조에서 ". ea"를 찾는다면,

첫 글자인 '.'는 t, A, i로 모두  대체될 수 있으므로 3가지 분기를 모두 확인하는 방식을 취해야 한다.

 

 

 

코드

 

 

 

 

반응형
댓글
반응형
인기글
Total
Today
Yesterday
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함