해시

· CS
Hash Table 해시 테이블해시 테이블은 키와 값을 함께 저장하는 자료구조 중 하나로, 데이터 검색이 빠른 자료구조이다. 해시 테이블은 키(Key), 해시 함수(Hash Function), 해시(Hash), 값(Value), 저장소(Bucket Slot)로 이루어져 있다. 키 Key키는 고유한 값이며, 해시 함수의 input이 된다. 이때 input되는 키는 해시 함수를 통해 해싱된 값으로 바뀌어 저장된다.  Javascript의 Object와 Map은 키의 자료형의 차이가 있다. Object의 키는 오직 문자열과 심볼만으로 사용할 수 있지만, Map은 모든 데이터 타입을 키로 사용할 수 있다.아래에서 설명하겠지만, 값이 저장되는 버킷을 가르키는 인덱스로 사용된다.  값 Value값은 최종적으로 버킷..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/42577?language=javascript# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 해당 문제는 해시를 이용한 풀이가 정론이다. 각 문자별 해시테이블을 만들어준 뒤 phone_book의 요소들을 순회하며 문자를 slice 해가며 해시테이블에 존재하는지 확인한다. 이게 정론이지만 해당 문제는 sort 정렬을 이용해 쉽게 해결이 가능하다. sort()를 이용하면 가장 첫자리 부터 끝자리 까지의 수와 전체 크기를 비교해 ..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/1845 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 해시 문제라 그랬는데 나는 처음에 해시로 풀지 않는다. 해시로 풀게되면 객체를 선언해 key가 폰켓몬 넘버, value는 갯수를 넣어줘 객체를 만들고 계산해주면 된다. 완성된 코드 const solution = (nums) => { const n = nums.length / 2; const map = new Set([...nums]); return map.size > n ..
· CS
알고리즘의 해시 해시에는 해시(Hash), 해시 함수(Hash Function), 해싱(Hashing), 해시 테이블(Hash Table) 이렇게 4가지로 나뉘어 진다. 각 요소들에 대해 알아보자. 해시(Hash) 해시는 검색과 저장을 빠르게 하는 자료구조이다. 데이터를 저장할 때는 Key-Value 형태로 데이터가 저장되고,Key값이 배열의 인덱스로 저장되기 때문에 검색과 저장이 빠르게 일어난다. 해시 함수(Hash Function)와 해싱(Hashing) 해시 함수는 Key값을 고정된 길이의 Hash로 변환하는 기능을 한다. 해시 함수에서 Key값을 hash로 변환하는 과정을 해싱(hashing)이라 한다. 해싱 과정을 통해 해시 값(hash value)또는 해시 코드(hash code)로 변경하며,..
58청춘
'해시' 태그의 글 목록