2025/06/13 2

해시 Hash

현대 사회에서 이런 데이터를 효율적으로 저장하거나 탐색하는 건 중요한 문제이다.어떤 데이터를 찾는다고 했을 때, 쉽게 떠올려볼 수 있는 방법은 처음부터 끝까지 순차적으로 탐색하는 방법이다.하지만 이는, 효율적이지 않음.따라서, 어떠한 값이 저장되는 위치를 어떤 규칙으로 정할 수 있다면 굳이 탐색을 할 필요 없이 바로 데이터를 찾아낼 수 있다.이런 생각을 바탕으로 만든 자료구조가 해시이다.해시는 해시함수를 사용해서 변환한 값을 인덱스로 삼아 키와 값을 저장해서 빠른 데이터 탐색을 제공하는 자료구조이다. 어떻게 탐색을 빠르게 만들까?보통은 인덱스를 활용해서 탐색을 빠르게 만들지만 해시는 키(key)를 사용해 데이터 탐색을 빠르게 한다.해시는 키와 데이터를 일대일 대응하여 저장하므로 키를 통해 데이터에 바로 ..

[백준] 18258번: 큐2/ Java 11

https://www.acmicpc.net/problem/18258 큐 2 시간 제한메모리 제한제출정답맞힌 사람정답 비율1 초 (하단 참고)512 MB125802418743382233.308%문제정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오.명령은 총 여섯 가지이다.push X: 정수 X를 큐에 넣는 연산이다.pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.size: 큐에 들어있는 정수의 개수를 출력한다.empty: 큐가 비어있으면 1, 아니면 0을 출력한다.front: 큐의 가장 앞에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.back: 큐의 가장..