일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- string
- programmers
- Java
- HTML
- compare()
- Coding
- HashSet
- 자바
- coding test
- 배열
- 정렬
- 스파르타코딩클럽
- Queue
- hash
- array
- Naver
- 프로그래머스
- Stack
- CSS
- 해쉬
- point queue
- 코딩테스트
- SQL
- 자료구조
- Eclipse
- Python
- javac
- 우선순위큐
- HashMap
- 네이버
- Today
- Total
목록자바 (3)
youngik
1. HashSet - set interface를 상속받은 클래스, hash table에 저장되는 자료구조 - HashSet의 순서를 보장되지 않음. (add 할때마다, 순서가 바뀔 수도 있음!) - 값에 hash함수를 적용해서 그 값에 따라서 hash table에 저장이 됨. *java HashSet 선언 HashSet set = new HashSet(); *function isEmpty() = boolean 값 반환하는 함수 (비어있으면 true, 아니면 false) add() = hash table에 값을 add하는 함수 remove(Obejct o) = hash에 값을 제거하는 함수 (삭제되면 true, 아니면 false) clear() = hash를 비우는 함수 size() = hashSet 사..
이번 문제는 heap 문제분류에서 있던 문제이다. 먼저, heap에 대한 이해가 먼저 되어야 했기에 heap에 대해서 알아보자! heap - 최댓값, 최솟값을 찾아내는 연산을 빠르게 하기 위해 고안된 완전 이진트리이다. - A, B가 각각 부모, 자식 노드라면 대소관계가 성립 (최대 힙 -> A>B) / (최소 힙 -> A 배열 길이보다 많은 연산을 했을 때 -1 리턴하기
먼저 위 문제를 분석을 해보았을 때 1. phone_book의 각 String 값을 HashMap에 동일한 부분이 있으면 넣지 X, 없으면 Hash에 넣는다. 2. HashMap에 넣게된다면 동일한 key가 없기 때문에, 동일하게 접두사 부분이 있으면 길이가 줄어든다. (*따라서 phone_book의 길이와 Hash에 넣은 길이가 다르면 접두사가 있다는 말) 1번을 어떻게 구현을 해야할지,, 너무 생각보다 너무 잘 안떠올라서 이래저래 생각도 해보고, 머리 아파서 침대에 누웠는데 어떻게 할지 생각이 났다. (*그런데 피곤해서 자다가 일어나서 만들었다는 것ㅋㅋㅋ) 내가 생각한 방법은 접두사는 앞에서 붙이는 부분이기 때문에 String의 값을 charAt()으로 한개씩 불러오는 것이었다. 각 String을 불..