5446번 - 용량 부족
제 알고리즘은 우선 지워야할 string과 지우지말아야할 string으로 Trie를 구성합니다. 단, 지우지말아야할 요소들이 포함된 Trie에는 bool doNotDel을 true로 합니다. (Trie 는 대/소문자, '.', 숫자 총 63개의 next를 가집니다.)
root->find() 시에 doNotDel이 true라면 한 글자씩 계속 current에 추가해주게 되고,
반대로 doNotDel이 false라면 고려해야할 것이 current + "*" 이거나, current + *key 가 될텐데 이는 마지막 글자냐 아니냐에 따라 달라질 것이라 생각하여 query == current로 판별하였습니다.
그후 규칙이 같다면 공통적인 command를 가질 것이라서 command모두를 set에 넣어 set의 크기만 answer로 하는 방식을 사용하였는데, 자꾸 틀려서 질문드립니다...
댓글을 작성하려면 로그인해야 합니다.
yslim6168 3년 전
제 알고리즘은 우선 지워야할 string과 지우지말아야할 string으로 Trie를 구성합니다. 단, 지우지말아야할 요소들이 포함된 Trie에는 bool doNotDel을 true로 합니다. (Trie 는 대/소문자, '.', 숫자 총 63개의 next를 가집니다.)
root->find() 시에 doNotDel이 true라면 한 글자씩 계속 current에 추가해주게 되고,
반대로 doNotDel이 false라면 고려해야할 것이 current + "*" 이거나, current + *key 가 될텐데 이는 마지막 글자냐 아니냐에 따라 달라질 것이라 생각하여 query == current로 판별하였습니다.
그후 규칙이 같다면 공통적인 command를 가질 것이라서 command모두를 set에 넣어 set의 크기만 answer로 하는 방식을 사용하였는데, 자꾸 틀려서 질문드립니다...