콘텐츠로 이동

2022 02 04

2022-02-04

알고리즘 문제풀이 - HashMap, TreeSet

  • Map 초기화하며 원소를 넣는 경우
    • 존재 유무를 따져가며 if-else 하지 말고, getOrDefault(key, default) 로 가져오자!
      Map<Character, Integer> vote = new HashMap<>();
      for(char candidate : input.toCharArray()) {
          vote.put(candidate, vote.getOrDefault(candidate, 0) + 1);
      }
      
  • 자바에서 Map 비교
    • Java의 Map은 equals로 비교가 가능하다!
    • inputMap.equals(targetMap) 하면 key-value 비교해서 뚝딱 알려줌
  • TreeSet
    • 이진탐색트리
    • 정렬의 기능을 가진 Set
      Set<Integer> ts = new TreeSet<>(Collections.reverseOrder());    // 해당 방식으로 큰 놈 앞으로 오게 정렬 가능
      ts.first()          // 앞에있는 놈
      ts.last()           // 뒤에있는놈
      ts.remove(int)      // 삭제
      ts.size()           // 사이즈