오늘 한 일
고급 정렬 알고리즘 강의 듣기- 배열, 스택, 큐 안보고 구현해보기
프로그래머스 알고리즘 1문제 풀기
공부하면서 궁금한 점
알고리즘 문제를 풀면서 배열에서 중복인 숫자를 저장하면 안되는 문제를 풀게 되었다.
직접 만들긴 했는데 뭔가 지저분해 마음에 들지 않아서
다른 사람들의 풀이를 보게되었는데 contains라는 함수와 HashSet 을 알게 되었다.
.contains() 는 내부를 순회하며 입력한 변수와 같은것이 있는지 boolean 으로 반환 해주는 함수
HashSet
Set 인터페이스에서 지원하는 구현 클래스이며
순서대로 입력되지 않고, 일정하게 유지되지 않는게 특징이라고 한다.
이 클래스의 가장 큰 특징은 중복을 허용하지 않는다는 것
HashSet은 객체를 저장하기 전에 먼저 객체의 hashCode()메소드를 호출해서
해시 코드를 얻어낸 다음 저장되어 있는 객체들의 해시 코드와 비교한 뒤,
같은 해시 코드가 있다면 다시 equals() 메소드로 두 객체를 비교해서
true가 나오면 동일한 객체로 판단하고 중복 저장을 하지 않는다.
출처 : coding-factory.tistory.com/554
공부할수록 다양한 자료구조가 나오는걸 느꼈으며, HashSet 과 contains를 이용해서도 코드를 작성해 보았다.
내일 할 일
- 그래프 기본탐색 알고리즘, 탐욕알고리즘 듣기
- 프로그래머스 알고리즘 1단계 2문제 풀기
- 배열, 스택, 큐 안보고 구현해보기
'TIL' 카테고리의 다른 글
22.12.30 TIL (0) | 2022.12.30 |
---|---|
22.12.29 TIL (0) | 2022.12.30 |
22.12.27 TIL (0) | 2022.12.27 |
22.12.26 TIL (0) | 2022.12.27 |
22.12.22 TIL (0) | 2022.12.22 |