반응형
<문제 소개>
<소스 코드>
#include <string>
#include <vector>
using namespace std;
vector<string> solution(vector<string> str_list)
{
vector<string> answer;
for(int i = 0; i < str_list.size(); i++)
{
if(str_list[i] == "l")
{
for(int j = 0; j < i; j++)
{
answer.push_back(str_list[j]);
}
break;
}
if(str_list[i] == "r")
{
for(int j = i + 1; j < str_list.size(); j++)
{
answer.push_back(str_list[j]);
}
break;
}
}
return answer;
}
<풀이과정>
1. 주어진 벡터 str_list를 첫 원소부터 반복하면서 "l" 이나 "r"을 찾는다.
2. 현재 원소가 "l"인 경우 0번째 인덱스부터 i - 1번째 인덱스까지 반복하며 answer에 원소를 넣어준다. 즉 "l" 이전의 원소까지 answer에 넣어준다.
3. 마찬가지로 "r"이 나왔을 때는 i+1번째 인덱스부터 마지막 인덱스까지의 원소들을 answer에 넣어준다.
4. 두 경우 모두 answer에 값을 넣어준 뒤 break를 이용해 반복문을 종료하고, answer을 리턴해준다.
<코멘트>
처음에 r이 나왔을 때는 역순으로 해야되는 줄 알고 했더니 틀렸다.ㅋㅋ
문제를 잘 읽자!
<제출결과>