# hash

44개의 포스트
post-thumbnail

[java] Hash에 대해 공부해보자!

Hash란 데이터를 다루는 기법 중 하나입니다. 특히 Hash는 검색과 저장에서 아주 우수한 성능을 보여 많은 쓰임새를 얻고 있습니다. Key는 Hash에서 매핑할 때 사용하는 인덱스라고 생각하시면 됩니다. Key는 절대로 중복되지 않는다는 특징을 가지고 있습니다.만약

2020년 10월 16일
·
0개의 댓글
post-thumbnail

[알고리즘] 해시 프로그래머스 1단계 - 완주하지 못한 선수

remove() 는 처음부터 탐색하는 아주 비효율적인 함수O(n^2) 의 시간복잡도from collections import CounterCounter 빼는 2가지 방법

2020년 10월 4일
·
0개의 댓글
post-thumbnail

[Hash] 프로그래머스_전화번호 목록

https://programmers.co.kr/learn/courses/30/lessons/42577문자열의 길이별로 나열해서 i번째의 number는 i+1부터 끝까지 서치하도록 한다.phone_book 리스트의 전체를 순회하며 해당 number (코드에서는

2020년 9월 11일
·
0개의 댓글
post-thumbnail

Hash algorithm

Leetcode 3. Longest Substring Without Repeating Characters Hint: use "Slicing Window"

2020년 9월 7일
·
0개의 댓글
post-thumbnail

Hash algorithm

leetcode 347. Top K Frequent ElementsNote : You may assume k is always valid, 1 ≤ k ≤ number of unique elements.Your algorithm's time complexity must

2020년 9월 6일
·
0개의 댓글
post-thumbnail

[알고리즘] 해시(Hash) 프로그래머스 3단계 - 베스트 앨범

총 재생 횟수, 플레이 횟수, 고유 번호 순서대로 수록⇒ { 장르: 총 재생 횟수 }, { 장르: (고유번호, 재생횟수) }⇒ 두 종류의 Hash를 만든다.첫 번째 Dictionary를 총 재생 횟수 내림차순으로 정렬한다.정렬한 값을 기준으로 두 번째 Dictionar

2020년 9월 5일
·
0개의 댓글
post-thumbnail

[알고리즘] 해시(Hash) 프로그래머스 2단계 - 위장

'의상의 종류'만 필요하기 때문에 따로 배열로 만든다.각 종류의 개수를 세기 위해 Counter 클래스를 사용한다.(종류+1) \* (종류+1) ... (종류+1) -1 을 해준다. -1 은 아무것도 입지 않은 경우를 빼준 것이다.

2020년 9월 5일
·
0개의 댓글
post-thumbnail

[알고리즘] 해시(Hash) 프로그래머스 2단계 - 전화번호 목록

string의 정렬 형태 이용 ⇒ 각 자리에 있는 요소 비교정렬이 완료된 상태로 앞 뒤 string만 비교하면 됨startswithstartwith은 어떤 문자열의 (시작~)이 어떤 문자열로 시작하는지 알려준다.두 번째 인자로 시작, 세 번째 인자로 끝-1 을 설정할

2020년 9월 5일
·
0개의 댓글
post-thumbnail

[알고리즘] 해시(Hash) 프로그래머스 1단계 - 완주하지 못한 선수

participant와 completion 배열의 요소 개수 파악⇒ Counter 함수를 사용하여 dictionary로 출력Counter 함수에서 제공하는 - 사용결과 값의 key 값을 list로 변경collections 모듈의 Counter 클래스Counter 클래스

2020년 9월 5일
·
0개의 댓글

프로그래머스 - 베스트 앨범

https://programmers.co.kr/learn/courses/30/lessons/42579문제는 따로 설명하지 않고, 링크를 첨부.결국 필요한 요소는 앨범에 장르 순서를 정할 장르별 총합과 해당 장르에서 플레이수가 많은 두 곡이다.공통공통적으로 필요

2020년 9월 2일
·
0개의 댓글

프로그래머스 - 위장

https://programmers.co.kr/learn/courses/30/lessons/42578문제는 따로 설명하지 않고, 링크를 첨부.전체 경우를 어떻게 조사할 것인지 생각했음.먼저 한 종류만 입을 경우, .... , K개 입을 경우(k는 옷의 종류 개

2020년 9월 2일
·
0개의 댓글

프로그래머스 - 전화번호목록

https://programmers.co.kr/learn/courses/30/lessons/42577문제는 따로 설명하지 않고, 링크를 첨부.두 가지를 먼저 고민함.비교를 어떻게 할 것인가?전화번화부 자체를 prefix로 두고 비교를 하자. 그 경우, pho

2020년 9월 2일
·
0개의 댓글

프로그래머스 - 완주하지 못한 선수

https://programmers.co.kr/learn/courses/30/lessons/42576문제는 따로 설명하지 않고, 링크를 첨부.첫 번째 생각한 방식은 list 형태로 input이 넘어오기 때문에 sort한 후에 완주자와 참가자를 비교하려고 했음.

2020년 9월 2일
·
0개의 댓글

[자료구조]Set, Dictionary, Hash

Set는 array나 list 처럼 순열 자료 구조를 뜻한다. 하지만 set는 순서라는 개념이 존재하지 않는다. 데이터를 비순차적으로 저장할 수 있는 순열 자료 구조삽입 순서대로 저장되지 않는다. 즉, 특정한 순서를 기대할 수 없는 자료 구조이다.수정 가능하다.동일한

2020년 8월 15일
·
0개의 댓글

Data Structure2 - Set, Dictionary, Hash

Set Set은 array나 list처럼 순열 자료구조이다. 하지만 set은 순서라는 개념이 존재하지 않는다. Set의 특징 데이터를 비순차적(unordered)으로 저장할 수 있는 순열 자료구조이다. 삽입 순서대로 저장되지 않는다. 즉 특정한 순서를 기대할 수 없는 자료구조이다. 수정 가능하다.(mutable) 동일한 값을 여러번 삽입 불가능하다. ...

2020년 8월 11일
·
0개의 댓글
post-thumbnail

[TIL] 자료구조 : Set, Hash, Dictionary

Set은 array처럼 순열 자료구조하지만 Set은 순서라는 개념이 존재하지 않음즉, 데이터를 비순차적으로 저장할 수 있는 자료구조값의 순서가 없다는 말은, 즉 순서대로 접근하지 않아도 된다는 의미즉 해당되는 데이터가 set안에 있는지 검색할 때 일정한 속도로 검색이

2020년 8월 10일
·
0개의 댓글

[한 줄 용어] hasing

대부분의 탐색 방법들은 탐색 키를 저장된 키 값과 반복적으로 비교하면서 탐색을 원하는 항목에 접근한다. 반면 해싱은 키 값에 직접 산술적인 연산을 적용하여 항목이 저장되어 있는 테이블의 주소를 계산하여 항목에 접근한다. 이렇게 키 값의 연산에 의해 직접 접근이 가능한

2020년 8월 6일
·
0개의 댓글

자료 구조 정리

상황과 문맥에 맞게 데이터를 담을 수 있는 적절한 구조를 말하며 데이터에 편리하게 접근하고 조작하기 위한 방법이다.자료 구조는 크레 단순구조와 비단순 구조로 나뉘는데, 단순구조는 프로그래밍에서 사용되는 기본 데이터 타입을 의미하며, 비단순 구조는 단순한 데이터를 저장하

2020년 7월 29일
·
0개의 댓글
post-thumbnail

Hash & Bcrypt & JWT

본래 해쉬(hash)함수는 자료구조에서 빠른 자료의 검색, 데이터의 위변조 체크를 위해서 쓰이지만, 복원이 불가능한 단방향 해쉬함수는 암호학적 용도로 사용합니다.(MD5, SHA-1)(둘은 보안취약), SHA-256등이 있습니다. 1234를 SHA-256 해싱하면 다음

2020년 7월 22일
·
0개의 댓글

프로그래머스-베스트앨범

HashMap, Sort 가 섞여있는 문제다. top 2만 구하면 되므로 정렬까진 필요없고 O(n)이면 된다. python보다가 java를 보니까 자잘한 array, list 변환들때문에 코드가 좀 지저분하다. 전체 Time은 장르갯수가 n이라 할때 O(nlogn).

2020년 7월 21일
·
0개의 댓글