알고리즘/해시

[알고리즘] 해쉬 총 정리 with Java

VIPeveloper 2022. 3. 17. 18:31
728x90
반응형

37퍼 수강!

벌써 3번째 총정리이다.

효율성 알고리즘과, 해쉬 알고리즘을 배우면서 느낀 것은 이제 조금씩 내가 모르는 부분이 나온다는 것이다.

특히 효율성 개선 알고리즘(투포인트 알고리즘, 슬라이딩 윈도 알고리즘) 등은 개념이 너무 신박하고 단순 자료구조가 아닌 문제풀이 방향 자체에 도움이 많이 되었다.

3차원 배열을 무서워하지 않음으로서 해결한 문제도 있었고, 이해하지 못했던 강의는 반복 학습하며 최대한 이해해보려고 노력했던 것 같다.

 

배운 것 정리

1. 투 포인트 알고리즘

. for문을 활용 + lt 변수를 활용하여 for문 한번으로 순회하며 조건을 탐색할 수 있는 기법이다. 정확히 어떤 문제에 적용되는지는 아직 파악하지 못했고, 아직은 느낌만 가지고 있다. 

 

2. getOrDefault(c,0)

. 해쉬문을 사용하여 알고리즘을 풀면서 가장 많이 사용했던 함수인 것 같다.

. for문 순회 시 hashMap에 put 할 때 유용하다.

HashMap<Character,Integer> hashMap = new HashMap<>();
hashMap.put('c',hashMap.getOrDefault('c',0)+1);

 

728x90
반응형