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이 된다.