2023/09/11 2

[Leetcode Top Interview 150] 211. Design Add and Search Words Data Structure

난이도 : medium 문제링크 단어 추가, 찾기의 기능을 가진 자료구조를 구현하라 찾기 : '.' 문자 사용 가능 (와일드카드) word 1 return false } List tmp; for (entry : node.children.entrySet()) { tmp.add(search(entry.getValue(), word.substring(1)); } return !tmp.stream().allMatch(b -> b == false); } return search(node.children.get(word의 첫번째 단어), word.substring(1)); } 3. 구현 코드 class WordDictionary { class Node { private Map children; private boo..

Algorithm/(Java) PS 2023.09.11

[Leetcode Top Interview 150] 208. Implement Trie (Prefix Tree)

난이도 : medium 문제링크 trie (or prefix tree)는 문자열 데이터셋의 키를 저장하거나 가져오는데 효과적인 트리자료구조 이다 맞춤법 체크나 자동완성 기능의 구현에 사용된다 insert(), search(), startWith() 메서드를 구현하세요 1. 접근법 문자열들은 문자들의 순차적으로 의존하는 데이터 하나의 문자를 노드로 생성함 각 노드는 자식의 정보를 담은 Map 자료구조와 해당 글자까지 단어인지 여부를 가지는 boolean 필드를 가진다 Trie 자료구조는 트리를 순회하는데 사용하기 위한 Node 타입의 root라는 필드를 가지도록 함 insert(String word) 파라미터로 받은 word의 부분문자열이 tree에 이미 존재한다면 tree에서 부분문자열의 마지막 node..

Algorithm/(Java) PS 2023.09.11