[매일코딩-프로그래머스] 완주하지 못한 선수 02 + Hash란?

2021. 12. 28. 10:40WEB Dev/CordingTEST

728x90

 

 

출근하면서 생각해봤는데, sort 하고 순서대로 비교하는 것도 답은 아닌 것 같았다. 

 

우선 partcipant에 값이 두 번 이상 나오는지 확인해야 하지 않을까?

 

 

 

아무리 생각해도 뭘 써야하는지 모르겠어서 우선 배열 관련 메소드를 다 확인해본다.

이러면서 공부하는거지 뭐

 

 

배열 객체 메소드 - JavaScript

배열 객체 메소드 2019-08-01 18:35:54 배열 객체 메소드 Array 객체가 갖고 있는 메소드들에 대해 알아봅니다. 함수들을 이용하여 배열을 효과적으로 사용할 수 있습니다.   함수의 종류가 많고, 활용

opentutorials.org

 

 

그런데 이 문제가 '해시' 카테고리에 있는 문제이기 때문에 '해시'라는 개념을 적용해야 한다는 조언이 있었다. 

 

 

해시...?

해시가 무엇인지 알아보자

 

 

 


 

 

해시 Hash / 해시 함수 Hash Function / 해시 테이블 Hash Table

 

 

해시       자료(데이터)를 다루는 기법 중 하나

해시 함수    데이터를 효율적으로 관리하기 위해 임의 길의의 데이터를 고정된 길이의 데이터로 매핑하는 함수

키Key       해시 함수를 이용해 매핑하기 전 데이터의 값 (원본 데이터)

해시값Hash Value(Code) 해시 함수를 이용해 매핑한 데이터의 값 

해싱Hashing   키Key와 해시값Hash Value(Code) 로 매핑하는 과정

 

 

해시 테이블Hash Table

 

해시 테이블은 키Key와 해시값Hash Value(Code)이 하나의 쌍을 이루는 데이터 구조다. (자바스크립트의 객체Object와 비슷하다.)

키Key 값을 해시 함수Hash Function 를 통해 배열의 인덱스로 사용한다.

 

 

 

[자료구조] Hash/HashTable/HashMap

해시(Hash)/해시 함수(Hash Function)/해싱(Hashing)? 해시(Hash) 란 데이터를 다루는 기법 중 하나이며,해시 함수(Hash Function) 는 데이터를 효율적으로 관리하기 위해서 임의의 길이의 데이터를 고정된 길

hee96-story.tistory.com

 

 

자료구조에 대해서 아예 모르다보니 블로그 글을 보고 이해하는데도 머리가 너무 아팠다.

결국에는 해시 함수라는게 있고, 자바스크립트 객체처럼 키와 값을 가진 해시 테이블을 만들 수 있는데, 키 값을 해시 함수에 돌려서 나온 리턴 값을 해시 밸류로 쓰고 이 배열을 이용해서 뭔가 자료를 처리한다는 ... 그런 의미인거 같다.

 

검색하다가 완주하지 못한 선수의 답을 적어두신 블로그 글이 있었는데,

마지막에 find로 접근하는 방법도 있어서 이번에도 따라써보려고 한다.

 

 

[알고리즘/자바스크립트] 완주하지 못한 선수 / 프로그래머스 - 해시 Level 1

해시 - Level 1 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와

im-developer.tistory.com

 

아.... 자료구조도 공부해야하는구나..

책.. 사서 공부해야지..

시간.. 더 쪼개써야지..

 

개발자의 길은 멀고

험하다

 

 

 

 

 

728x90