Algorithm/Study

[99클럽 코테 스터디] 📝 Day33. 정렬 2

ioh'sDeveloper 2024. 6. 23. 18:32
99클럽 코테 스터디 33일차 TIL + 정렬

📍 오늘의 학습 키워드

  • HashSet
  • 정렬

📝 공부한 내용 본인의 언어로 정리하기

HashSet은 Java에서 제공하는 자료구조로, 중복을 허용하지 않고 순서가 없는 요소들의 집합을 관리하는 클래스입니다. 내부적으로 해시 테이블을 사용하여 데이터를 저장하며, 검색, 삽입, 삭제 연산이 평균적으로 O(1)의 시간 복잡도를 가집니다.

주어진 문제는 배열에 없는 k개의 고유한 양의 정수를 추가하여 그 합을 최소화하는 것이었습니다. HashSet을 사용하여 주어진 배열의 요소를 저장하고, 1부터 시작하여 배열에 없는 숫자를 찾아나가는 방식을 통해 문제를 해결했습니다.

📖 오늘의 회고

📚 어떤 문제가 있었고, 나는 어떤 시도를 했는지

오늘은 HashSet을 사용한 문제 해결 방법을 공부하고 적용해 보았습니다. 처음에는 정렬을 사용한 접근 방식도 고려했지만, HashSet을 이용한 방법이 더 효율적일 것 같아 선택했습니다.

HashSet을 이용하여 주어진 배열의 요소를 저장하고, 1부터 시작하여 HashSet에 존재하지 않는 숫자를 차례대로 찾아 그 합을 계산했습니다. 이 과정에서 시간 복잡도를 최대한 줄이면서 문제를 해결할 수 있었습니다.

🤔 어떻게 해결했는지

🔖 참고링크 (https://develop-tracking.tistory.com/120)

🤓 무엇을 새롭게 알았는지

오늘은 HashSet이라는 자료구조의 기본적인 사용법과 그 특성을 더 깊이 이해할 수 있었습니다. 해시 테이블을 기반으로 하여 데이터를 효율적으로 관리할 수 있는 장점을 배웠습니다.

⏳ 내일 학습할 것은 무엇인지

내일은 HashMap과 HashSet의 차이점과 실제 사용 사례에 대해 더 깊이 공부해 보고, 이를 활용한 실제 문제 해결 방법을 학습할 예정입니다.