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값과 비교하여 겹치는 부분이 있는지도 알 수 있다
'C++ > 한 줄 정리' 카테고리의 다른 글
cin 입력 후 다른 타입의 입력 시 꼭 cin.ignore를 해줘야 한다 (0) | 2022.06.21 |
---|---|
hash 해시 사용 시 key값이 없을 때 호출하면 key 추가 후 value는 0이다 (0) | 2022.06.21 |
i로 도는 for문 사용시, i를 for문 밖에 선언, 초기화 할 수 있다 (0) | 2022.06.19 |
크기가 정해진 벡터에 push-back 시, 그 크기 뒤로 push 된다 (0) | 2022.06.19 |
벡터의 초기화, 선언 시 초기화, 벡터 크기 지정 초기화 (0) | 2022.06.19 |
댓글