find
- template <class InputIterator, class T>
InputIterator find(InputIterator first, InputIterator last, const T& val);
- 범위 안에 원하는 값을 찾는다.
- first ~ last 전 까지([first, last))들의 원소중 val 가 일치하는 첫 번째 원소를 가리키는 반복자를 Return 한다.
- 만약 원소를 찾지 못할 경우 last 를 Return 한다.
- 원소 비교 시 == operator를 사용한다.
- string의 find 함수와 다르다.
...
if (find(memo_coord.begin(), memo_coord.end(), history) != memo_coord.end()) {
continue;
} else {
memo_coord.push_back(history);
pair<pair<int, int>, pair<int, int>> history2 = make_pair(prev_coord, next_coord);
memo_coord.push_back(history2);
answer++;
}
...
- 나는 history 라고하는 pair 변수가 memo 벡터안에 있는지를 확인하기 위해 find 를 사용했다.
- 위의 if 문은 container 변수에 해당 원소가 있는지 Check 하기에 유용하다.
출처 : https://modoocode.com/261