관리 메뉴

Storage Gonie

(10) C++ algorithm헤더의 find 함수 본문

알고리즘/문제해결을 위한 C++ 공부

(10) C++ algorithm헤더의 find 함수

Storage Gonie 2019. 4. 25. 19:32
반응형

# Iterator find (InputIterator first, InputIterator last, const T& val)

- val의 값이 어디의 위치에 존재하는지를 Iterator로 반환함.(val과 일치하는게 없을 시 마지막 end()를 반환)

#include <algorithm> 을 포함시켜주어야 함

 

# 예시

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main()
{
    int a[] = {1, 2, 3, 4, 5};

    vector<int> myvector(a, a + 5);

    auto it = find(myvector.begin(), myvector.end(), 3);
    if (it == myvector.end())  // 존재하지 않는 경우
        cout << -1 << ' ';
    else
        cout << (it - myvector.begin());                    //2
}
#include <iostream>
#include <algorithm>

using namespace std;

int main() {
    string s;
    cin >> s;

    for (int i='a'; i<='z'; i++) {
        auto it = find(s.begin(), s.end(), i);
        if (it == s.end()) {                   // find 함수는 찾을 수 없을 때 end()를 반환하므로
            cout << -1 << ' ';
        } else {
            cout << (it - s.begin()) << ' ';   // -1, 4, -1, 7, 0, ,,,,
        }
    }
}

 

반응형
Comments