문제
String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다.
제한 사항
- seoul은 길이 1 이상, 1000 이하인 배열입니다.
- seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다.
- "Kim"은 반드시 seoul 안에 포함되어 있습니다.
코드
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
string solution(vector<string> seoul)
{
string answer = "";
auto it = find(seoul.begin(), seoul.end(), "Kim");
answer = "김서방은 " + to_string(it-seoul.begin()) + "에 있다";
return answer;
}
나의 생각
algorithm 라이브러리에 정의된 find 함수는 [first, last) 범위에서 val(특정 값)을 찾는데 사용된다.
val과 동일한 첫 번째 원소를 가리키는 반복자를 반환하며 val과 동일한 원소가 없다면 last를 반환한다.
find로 원소를 찾았다면 반환된 반복자에 begin을 빼주면 원소의 인덱스를 알 수 있다.
'Algorithm > 프로그래머스 : Level 1' 카테고리의 다른 글
[프로그래머스 Level 1] 최대공약수와 최소공배수 (0) | 2021.11.08 |
---|---|
[프로그래머스 Level 1] 나머지가 1이 되는 수 찾기 (0) | 2021.11.08 |
[프로그래머스 Level 1] 최소직사각형 (0) | 2021.11.07 |
[프로그래머스 Level 1] 2016년 (0) | 2021.11.05 |
[프로그래머스 Level 1] 체육복 (0) | 2021.11.05 |