본문 바로가기
C++/한 줄 정리

a 에 b가 확인 혹은 찾는 문제는 - 해시 hash - 문제

by tokkiC 2022. 6. 21.

a에 b가 있는지, 포함되어 있는지, 누가 무엇을 한 사람인지 등등의 문제는

a에서 b를 찾아 세야 되는 문제이고 해쉬 맵을 사용한 문제이다

unordered_map 과 map을 사용해서 풀자

key에는 찾을값을 넣고  value에는 숫자로 초기화 하고 카운트를 하고 빼는 것으로 있는지 없는지 확인가능하다

pair로 key와 value를 묶어서 map에 입력하거나 map[ key로 넣을 값 or배열, 상수값(상수로 map 전체 초기화) or 배열]

등을 통해 해쉬맵을 만들 수 있다

해시 맵을 만들었으면 그 해당key 일때 value를 조작하여 value를 가지는 "개수"를 찾거나 ( value로 키는 못구한다)

a와 b의 겹치는 부분이 있는지를 찾기 위해서 부분의 문자열을 뽑는 substr 등으로 뽑아낸 문자열을 

해쉬의 key값과 비교하여 겹치는 부분이 있는지도 알 수 있다

댓글