해시 2

프로그래머스: 완주하지 못한 선수 찾기

문제 해결참가자 목록과 완주자 목록을 HashMap을 활용하여 비교하는 방식입니다. 구체적으로, 참가자 목록에 등장하는 각 선수의 이름과 등장 횟수를 카운팅하고, 완주자 목록을 이용해 그 수를 하나씩 차감해 나가는 방식입니다. 결국, 남은 수가 1인 선수는 완주하지 못한 선수입니다.HashMap 초기화먼저, 참가자 목록에 등장하는 각 선수의 이름과 등장 횟수를 카운팅합니다. HashMap을 사용하여 선수의 이름을 키로, 등장 횟수를 값으로 저장합니다.완주자 목록 처리완주자 목록을 하나씩 순회하면서, 완주한 선수의 이름을 HashMap에서 찾아 그 값(등장 횟수)을 하나씩 감소시킵니다.결과 추출HashMap에서 값이 1인 선수는 완주하지 못한 선수이므로, 해당 선수를 결과로 반환합니다.코드import ja..

Algorithm 2025.03.26

해시 테이블(Hash Table) 이란?

해시 테이블이란?해시 테이블은 다음과 같은 과정으로 동작합니다.Key 를 입력받아Hash Function 을 통해 고정된 크기의 정수(인덱스)로 변환하고해당 인덱스 위치에 Value 를 저장이로 인해 평균적으로 O(1)의 시간 복잡도로 데이터를 저장하고 조회할 수 있습니다.구성 요소 구성 요소설명 키(Key)조회에 사용되는 고유 식별자값(Value)저장하고자 하는 실제 데이터해시 함수(Hash Function)키를 배열 인덱스로 변환하는 함수버킷(Bucket)실제 데이터가 저장되는 공간충돌 해결(Collision Resolution)다른 키가 같은 인덱스를 갖게 되는 경우 처리 방법해시 충돌(Collision)과 해결 방식왜 충돌이 발생할까?서로 다른 키라도 해시 함수 결과(인덱스)가 동일할 수 있음..

CS 2025.01.23