[ C++ ] 프로그래머스: 서울에서 김서방 찾기
✏️ PS/Programmers

[ C++ ] 프로그래머스: 서울에서 김서방 찾기

반응형

 

안녕하세요? 수구리입니다.

이번 문제도 프로그래머스 Level 1 문제입니다.

문제의 제목을 유추해보면 어떤 특정 자료가 주어지면 find를 통해서 찾는 문제인 것 같죠?!

바로 문제를 보겠습니다.

 

 

 

[ 문제 ] 프로그래머스: 서울에서 김서방 찾기

https://programmers.co.kr/learn/courses/30/lessons/12919

 

코딩테스트 연습 - 서울에서 김서방 찾기

String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니

programmers.co.kr

 

 

[ 나의 풀이 ]

#include <string>
#include <vector>
#include <algorithm>
using namespace std;

string solution(vector<string> seoul) {
    string answer = "김서방은 ";
    
    int idx = find(seoul.begin(), seoul.end(), "Kim") - seoul.begin();
    
    return answer + to_string(idx) + "에 있다";
}

 

 

 

 

[ 설명 ]

1. 우선 answer 문자열에 출력해야 하는 포맷에 맞춰주도록 값을 먼저 대입해 줍니다.

2. 다음으로는 주어진 string vector의 index를 가져오기 위해서 idx라는 변수에, <algorithm>에 있는 find 함수를 사용해서 "Kim"이라는 문자열을 찾아 index 값을 return 한 후 저장해줍니다.

3. 그러면 몇 번째에 존재하는지 알아냈으니 출력 포멧에 맞춰서 answer string을 조작해서 return 하면 끝!

 

이상으로 문자열에서 find 함수를 통해 찾고자 하는 index를 가져오는 문제였습니다.

이상입니다!

 

 

반응형