해보자

[vector] find, distance (C++) 본문

C++/Container

[vector] find, distance (C++)

안댕 2020. 2. 5. 00:03

https://programmers.co.kr/learn/courses/30/lessons/12919?language=cpp

 

코딩테스트 연습 - 서울에서 김서방 찾기 | 프로그래머스

String형 배열 seoul의 element중 Kim의 위치 x를 찾아, 김서방은 x에 있다는 String을 반환하는 함수, solution을 완성하세요. seoul에 Kim은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. 제한 사항 seoul은 길이 1 이상, 1000 이하인 배열입니다. seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다. Kim은 반드시 seoul 안에 포함되어 있습니다. 입출력 예 seoul return

programmers.co.kr

위와 같은 문제에 사용하기 유용. 

 


 

vector내에서 해당 데이터가 존재하는지 검색하는 find.

vector내에서 해당 데이터가 어디에 위치하는지 가져오기 위해서 사용하는 disatnce.

 

사용방법은 아래와 같다.

1
2
3
    vector<string>::iterator it;
    it = find(seoul.begin(), seoul.end(), "Kim");
    int idx = distance(seoul.begin(), it);

예를 들어,

 

vector<int> seoul =  {"Andaeng", "Kim"}; 이면

idx값은 1이 된다.

'C++ > Container' 카테고리의 다른 글

[map] value sort ( C++ )  (0) 2020.05.19