일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- leetcode
- 신호처리
- 독서노트
- 알고리즘
- leet code
- IOS
- 알고리즘문제풀이
- 코딩테스트
- 이산신호처리
- PYTHON
- Trie
- 컨볼루션
- Leet Coding Challenge
- 파이썬
- 전자공학
- 코테준비
- 스위프트
- DSP
- 프로그래머스
- 백준
- 릿코드
- dft
- 카카오 코딩테스트
- DTFT
- 알고리즘 문제풀이
- backjoon
- SWIFT
- SWIFTUI
- 트라이
- 코테
Archives
- Today
- Total
매일 매일 성장하는 섭섭군
[Leet Coding Challenge] Add and Search Word - Data structure design, 2020.08.01~07 본문
알고리즘 문제풀이/LeetCode
[Leet Coding Challenge] Add and Search Word - Data structure design, 2020.08.01~07
섭섭군 2020. 8. 6. 23:51반응형
문제 요약
이번에 풀어볼 문제는 Add and Search Word - Data structure design 라는 문제입니다.
문제에는 2가지 명령어가 있으며 여기에 따른 기능을 수행하면 됩니다.
- addWord(String)->None : 문자열이 입력되며 a~z사이의 소문자가 입력됩니다.
- search(String)-> Bool : 문자열이 입력되며 해당하는 단어가 등록되어 있으면 True, 등록되어 있지 않으면 Fasle를 리턴합니다.
검색 기능에서는 "."으로 표시되어 있는 곳에는 어떤 단어가 와도 일치한다고 판단하며 "."이 아닌 단어만 일치한다면 True를 리턴하면 됩니다.
문제풀이 IDEA
- 단어의 등록은 딕셔너리(해시테이블)을 이용하며 Key = 입력된 단어의 길이, Value = Array 형식이다. (Array에 추가하는 방식)
-> 이렇게 진행하면 단어를 검색할때 검색할 단어의 길이 안에서만 탐색하면 된다. - 단어의 검색은 같은 길이의 배열에 담겨진 단어들 중 조건에 맞는 것을 찾아 있으면 True, 없으면 False를 리턴한다.
전체적인 코드는 다음과 같습니다. 질문과 피드백은 언제나 감사드립니다.
class WordDictionary:
def __init__(self):
self.wordDict = dict()
def addWord(self, word: str) -> None:
width = len(word)
if width in self.wordDict :
self.wordDict[width].append(word)
else :
self.wordDict[width] = [word]
def search(self, word: str) -> bool:
comp = []
for i, v in enumerate(word) :
if v != "." :
comp.append([i,v])
if len(word) in self.wordDict :
for i in self.wordDict[len(word)] :
flag = True
for j, v in comp :
if v == i[j] :
continue
else :
flag = False
break
if flag :
return True
return False
반응형
'알고리즘 문제풀이 > LeetCode' 카테고리의 다른 글
[LeetCode Top Interview Questions] Group Anagrams (0) | 2020.08.28 |
---|---|
[Leet Coding Challenge]Excel Sheet Column Number, 2020.08.08~14 (0) | 2020.08.11 |
[LeetCode Top Interview Questions] Happy Number (0) | 2020.08.05 |
[Leet Coding Challenge] Power of FourSolution, 2020.08.01~07 (0) | 2020.08.04 |
[Leet Coding Challenge] Valid Palindrome, 2020.08.01~07 (0) | 2020.08.04 |
Comments