Loading...
2023. 3. 18. 21:29

SQL 코딩테스트 복기 - 알파벳으로 시작하는 데이터 추출하는 방법(정규표현식)

알파벳 ABCDEFGHIJKLMNOPQRSTUVWXYZ 중 하나나 abcdefghijklmnopqrstuvwxyz중 하나로 시작하는 데이터를 찾으라하면 어떻게 해야할까 WHERE (column) like "A%"; 이러면 (column)이 A나 a로 시작하는 모든 행을 조회해준다. 그러면 WHERE (column) like "A%" or (column) like "B%" or (column) like "C%" or (column) like "D%" or (column) like "E%" or (column) like "F%" or (column) like "G%" or(column) like "H%" or (column) like "I%" or (column) like "J%" or(column) lik..

2023. 1. 23. 02:42

문자열 자료구조 Trie 알고리즘 기본개념 이해하고 삽입, 추가 직접 구현해보기

1. 문자열 단어 저장 'hello', 'hi', 'hey' 등을 저장하고자 할때, 생각할 수 있는 방법중 하나는 dictionary에 저장하는 것이다 d = {'hello':1, 'hi':1, 'hey':1} 단어를 key값으로 저장해두면, 특정 단어를 찾고자 할때, d['hello']같이 key로 접근해서 1인지 확인해보면 되니까 O(1)로 바로 찾을 수 있는 장점이 있다 하지만 공간복잡도 측면에서 단어가 100만개가 있다면 100만개의 공간이나 필요할 것이다  2. Trie 자료구조 Trie 자료구조는 효율적인 공간복잡도를 가지면서도, 시간복잡도도 충분히 효율적으로 만드는 문자열 저장 자료구조라고 할 수 있다. dictionary보다 조금 느리지만, 단어를 찾는데 단어를 구성하는 알파벳(문자)개수만..

2022. 11. 1. 23:55

비전공자도 이해할 수 있는 AI지식24 -검색엔진을 최적화하려는 노력-

1. 랭킹에 올라가느냐, 방어하느냐 창과 방패의 싸움 구글이나 네이버의 검색 결과에서 상위를 차지하면 엄청난 트래픽을 가져올 수 있습니다 특히 돈에 관련한 쿼리라면 더더욱 그렇죠 예를 들어 네이버에 '꽃배달'이라는 쿼리를 입력했을때, 1등으로 올라오는 사이트가 있다면, 엄청난 매출을 기대할 수 있겠죠? 그래서 '검색엔진 최적화, SEO, Search Engine Optimization'를 시도하는 업체들은 여러가지 실험을 해보면서 랭킹을 높이기 위해 끊임없이 도전합니다 구글에는 200여가지 랭킹 조건이 있는데 검색엔진 최적화는 이들 조건 사이에서 바늘구멍같은 빈틈을 찾아 랭킹을 올리기 위해 끊임없이 노력하는 거죠 이를 위해 다양한 수단을 동원합니다. 다양한 메타 태그를 부여해보기도 하고, 인기있는 키워드..

2022. 10. 30. 00:34

비전공자도 이해할 수 있는 AI지식23 - 사람들이 진짜로 검색 결과를 좋아하는지 아는 방법-

1. 유사도 점수만으로 검색 결과를 내놓을까 지금까지 랭킹을 이해하기 위해 꽤 기나긴 과정을 거쳤습니다. 점수를 구하려 계산하다 보니 수학을 많이 사용했습니다. 좋은 랭킹 공식을 만들기 위해 좋은 알고리즘을 사용하는 것과 함께 수학 실력도 매우 중요합니다. 랭킹의 결과는 최종적으로 사용자에게 노출된다는 점에서 검색엔진 기술의 꽃이라고 할 수 있습니다. 그렇다면 검색엔진은 최종 순위를 어떻게 정할까요? 직전에 살펴본 유사도 점수가 순위를 결정하는 중요한 요인이긴 하지만 유사도 점수만 높다고 항상 1등이 되진 않습니다 철인 3종 경기에서 마라톤이 가장 중요하다 해도 결국은 수영, 사이클, 마라톤 세 종목의 모든 시간을 합산하여 1등을 정하는 것과 유사하죠 마찬가지로 지금까지 살펴본 최신, 품질, 유사도에 더..

2022. 10. 29. 01:14

비전공자도 이해할 수 있는 AI지식22 -검색엔진이 우리가 원하는 문서만 보게 만들어주는 비결-

1. 읽지 않아도 두 문서가 비슷하다는 것을 알 수 있는 방법 최신 문서도, 품질이 좋은 문서도 쿼리와 상관없이 판별할 수 있어서, 페이지 랭크는 품질 지표를 사용자의 검색 여부와 상관없이 주기적으로 계산하고 미리 저장해두기도 합니다. 그러면 매번 계산하지 않아도 되기 때문에 검색 속도를 높일 수 있죠. 이제 살펴볼 유사도 점수는 쿼리와 직접 관련이 있습니다. 쿼리에 따라 실시간으로 점수를 계산해야하기 때문에 미리 계산해두기도 어렵습니다. 그렇지만 매우 중요합니다. 특히 쿼리와 그에 따른 문서가 얼마나 유사한지는 사실상 검색엔진의 핵심이라고 할 수 있죠. 누구나 내가 입력한 쿼리에 딱 맞는 결과를 원하니까요. 그렇다면 어떻게 쿼리에 딱 맞는 문서를 불러올 수 있을까요? 먼저 사용자가 입력한 쿼리가 문서 ..