오늘은 Hash에 대해서 좀 더 알고자 해시문제를 풀어 보았다.
위 문제에서 예제로 준 phone_book의 배열을
HashMap 안에
배열의 값을 해싱해주고
배열의 값을 하나한 꺼내서 꺼낸 문자의 길이만큼
for문을 통해 자르는 길이를 1부터 하나씩 늘려가며
substring으로 (0, 꺼낸문자열의 길이) 잘라낸다.
그 자른 문자열이 HashMap에 존재하는지 판단하기 위해선
containsKey(key)를 쓰면된다.
containsKey(key)란?
- Map의 key값들 중 괄호 안에있는 값이 존재하는지의 여부에 따라서 true, false를 반환한다.
-배운점
주어진 배열을 2중 반복문으로 하나하나 검사하기보다는 배열을 해싱하여 HashMap에서 요소들을 검사하는게 더욱 빠르다는것을 알게되었다.
어떤 사이트에서 한 회원이 검색한 내용들 중 특정 단어가 현재 광고 되어야하는 광고의 키워드와 같다면 ( 유사하다면 ) 그 키워드로 광고를 불러오는 기능들도 구현 할 수 있을 것 같다.
이러한 알고리즘으로 검색엔진, 회원마다 다른 광고를 보여주는 기능을 만들때 용이 할 것 같다.