2024/11/21 3

[JAVA] HASH란 무엇인가

HASH📌 입력 데이터를 고정된 크기의 값으로 변환하는 함수 또는 그 과정을 의미합니다 다른 말로는 해시 값, 해시 코드, 체크섬 이라고 합니다.key와 value 쌍으로 데이터를 저장하며, 키를 해시 함수를 통해 고유한 인덱스에 대응시켜 빠르게 값을 조회합니다.  중복 허용을 안함, 순서 유지 안함, 빠른 검색, 삭제 가능해시 함수를 통해 시간복잡도가 1(반드시 1은 아닙니다. 충돌할 경우 달라지기도 합니다.)인 한번에 정보의 위치를 찾을 수 있는 자료구조형태(해시 테이블)를 제작하는 과정 꼭 주소로 구현할 필요는 없다 왼쪽의 index/data table의 경우 이차원 배열로 map은 아니다.map으로 만들경우 메서드 차제적으로 for문으로 index값을 일일히 찾을 필요 없이 바로 index(ke..

Back-End (Web)/JAVA 2024.11.21

[JAVA] 자바의 정렬

간단한 정렬 Sort 1. Arrays 클래스의 정렬java.util.Arrays 클래스는 배열을 정렬하는 데 사용됩니다.기본적으로 오름차순으로 정렬하며, 사용자 정의 기준으로 정렬하려면 Comparator를 사용합니다. 문자열의 경우 아스키코드 순 (알파벳 순)으로 오름차순 정렬되며, 한글도 가나다 순으로 정렬됩니다.import java.util.Arrays;public class Main { public static void main(String[] args) { int[] numbers = {5, 2, 8, 3, 1}; Arrays.sort(numbers); System.out.println(Arrays.toString(numbers)); // [1, 2,..

Back-End (Web)/JAVA 2024.11.21

알고리즘 별 문제 파악 키워드

1. 해시 테이블키워드:"중복 제거", "빠른 탐색", "Key-Value 매핑", "주어진 값을 빠르게 찾기""빈도 계산", "사전(dictionary) 구조", "해시맵", "특정 조건 만족 여부 확인"예시 문제:배열에서 중복되는 숫자 제거.문자열에서 가장 많이 등장한 문자 구하기.두 개의 배열이 같은 원소를 포함하는지 확인.특정 합을 가지는 두 숫자의 인덱스를 찾기 (Two Sum).주어진 문자열의 아나그램을 찾기.주어진 패턴을 만족하는 문자열 매칭.2. 스택, 큐키워드:"후입선출 (LIFO)", "전입선출 (FIFO)""괄호 짝 맞추기", "스케줄 처리", "순서대로 처리", "백트래킹"예시 문제:괄호의 유요성을 탐색히스토리를 관리하는 웹 브라우저의 뒤로 가기/앞으로 가기 구현.큐를 사용한 프로세..