[leetcode]211. design-add-and-search-words-data-structure

yoon·2023년 9월 11일
0

leet_code

목록 보기
20/24

📃문제 설명

다음과 같은 역할을 하는 데이터 구조를 설계하면 된다.
1. word를 추가한다.
2. 입력한 문자를 찾아서 있다면 True, 없다면 False를 반환한다.
( '.' 에는 어떠한 문자도 가능하다.)

🖊풀이

앞에서 풀었던 문제와 비슷한 방법으로 접근했다.
리스트를 이용한 풀이이다.

.을 포함하고 있지 않으면 in을 활용하여 단어의 유무를 바로 확인한다.
.을 포함하고 있다면 단어의 문자 각각을 for문으로 돌면서 .을 만나면 다음 문자로 넘겨준다.
insert를 통해 넣은 단어 리스트를 한번 돌고, 그 안에서 또 단어의 문자를 각각 돌아야하기 때문에
시간 복잡도는 O(NM)이다.

효율 문제로 dict를 사용해보려고 했는데 .을 만나면 key를 한칸 넘어가야 하는 문제가 발생한다.values 함수를 사용하여 접근하면 될 것 같은데 조금 더 고민을 해봐야할 것 같다.

profile
하루하루 차근차근🌱

0개의 댓글