해시 2

[Java] 중복 없는 해시 HashSet

HashSet HashSet은 Java 컬렉션 프레임워크에서 제공하는 클래스로, 중복된 요소를 허용하지 않는 집합(Set)을 구현한 것이다. HashSet은 해시 테이블(Hash Table)을 사용하여 요소를 저장하며, O(1)의 상수 시간 복잡도로 요소에 대한 삽입, 삭제, 검색 작업을 수행할 수 있다. HashSet 특징 new HashSet()는 기본 생성자를 호출하여 HashSet 객체를 생성한다. 는 제네릭(Generic) 타입을 나타내는 것으로, 여기서는 HashSet이 저장할 요소의 타입을 지정하는 역할을 한다. 예를 들어, new HashSet()는 String 요소를 저장하는 HashSet 객체를 생성한다. HashSet은 중복된 요소를 허용하지 않으므로, 요소의 중복 여부를 판단하기 위..

알아가기/Java 2023.05.28

[Java] 백준 풀기 11478 - 서로 다른 부분 문자열의 개수

자바 백준 11478번 실버 3 https://www.acmicpc.net/problem/11478 11478번: 서로 다른 부분 문자열의 개수 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000 이하이다. www.acmicpc.net 문제 보기 분류: 자료 구조, 문자열, 해시를 사용한 집학과 맵, 트리를 사용한 집합과 맵 문제 풀기 입력 받은 문자의 길이를 length() 로 확인하여 저장한다. 서로 다른 부분 문자열을 저장할 HashSet 을 생성한다. 이중 for loop 을 통해 문자열의 처음과 끝을 지정하여 substring() 으로 모든 경우에 대해 분리한다. 이 분리한 문자열을 HashSet() 으로 생성한 mySet 에 추가한다. HashSet 특성..

공부하기/백준 2023.05.27