본문 바로가기

HashMap3

[자바] HashMap 동작 원리 정리 자바에서 HashMap은 키에 대한 해시 값을 사용하여 값을 저장하고 조회하며, 키-값 쌍의 개수에 따라 동적으로 크기가 증가하는 associate array입니다. 연관 배열(associate array) : 키 하나와 값 하나가 연관되어 있으며 키를 통해 연관되는 값을 얻을 수 있는 자료 구조 데이터를 저장할 버킷을 찾는 방법 HashMap은 객체의 hashCode() 메서드의 반환 값을 사용한 hashCode() % BUCKET_SIZE 수식을 사용하여 데이터를 저장/조회를 할 버킷 위치를 계산합니다. 위 수식을 사용하여 데이터를 BUCKET_SIZE 내의 위치에 값을 저장할 수 있게 됩니다. 해시 값 충돌이 발생한다면? 보통 Hash 값 충돌이 발생하면 개방 주소법, 체이닝 기법을 사용하여 충돌을.. 2022. 10. 30.
[알고리즘] 4-3 매출액의 종류 - HashMap, Sliding Window 알고리즘(인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) 인프런의 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의를 수강하며 간략한 문제 설명, 예습 풀이 코드, 강의에서 설명하는 풀이 코드를 정리하고 있습니다. 강사님의 요청으로 문제를 통째로 올리지 못하는 점 양해 부탁드립니다. 문제 링크 : https://cote.inflearn.com/contest/10/problem/04-03 문제 설명 : n일간의 매출 기록과 연속구간의 길이 k가 주어지면 첫 번째 구간부터 각 구간별 매출액의 종류를 출력하는 문제 예습 풀이 HashMap과 Sliding window 알고리즘을 사용하여 풀이 package inflearn.hashmap_treeset; import java.io.BufferedReader; import java.io.IOException; .. 2021. 5. 29.
[알고리즘] 4-1 학급 회장 - HashMap(인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) 인프런의 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의를 수강하며 간략한 문제 설명, 예습 풀이 코드, 강의에서 설명하는 풀이 코드를 정리하고 있습니다. 문제 링크 : https://cote.inflearn.com/contest/10/problem/04-01 문제 설명 : 학급 회장 선거에 A,B,C,D,E 후보가 등록, 투표에 참여하는 반 학생수 n명과 투표 결과가 n개 길이의 문자열(문자열의 각 문자는 투표한 후보 알파벳)이 주어졌을 때 어떤 후보가 당선되었는지 출력하는 문제 예습 풀이 아스키 코드 값을 활용하여 득표 수를 저장하는 배열의 인덱스로 후보 알파벳을 사용. A의 아스키 코드 값은 65인 것을 활용하여, A의 배열 인덱스는 'A'-65로 0이다. package inflearn... 2021. 5. 28.