문제풀이: 이문제는 if(s.find("ad") == string::npos)를 이해해야한다.
#include <string>
#include <vector>
using namespace std;
vector<string> solution(vector<string> strArr) {
vector<string> answer;
for(string s : strArr)
{
if(s.find("ad") == string::npos)
{
answer.push_back(s);
}
}
return answer;
}
string::npos는 C++ 표준 라이브러리에서 제공하는 string 클래스의 정적 상수이다.
이 값은 string 클래스에서 문자열을 찾지 못한 경우 반환되는 특별한 값이고
string::npos의 값은 보통 -1로 정의되어 있으며,
find() 함수가 문자열을 찾지 못한 경우 해당 값을 반환
따라서 string::npos를 사용하여 find() 함수가 문자열을 찾지 못한 경우를 검사할 수 있습니다.
예를 들어, string::npos는 find() 함수가 호출된 문자열 내에서 찾는 문자열이 존재하지 않을 때 반환됩니다. 따라서 if(s.find("ad") == string::npos)는 문자열 s 내에서 "ad"를 찾지 못한 경우를 검사합니다.
'코딩테스트' 카테고리의 다른 글
프로그래머스_1단계_내적_C++ (0) | 2024.04.11 |
---|---|
프로그래머스_1단계_음양 더하기_C++ (0) | 2024.04.11 |
프로그래머스_0단계_공백으로 구분하기 1C++ (0) | 2024.04.11 |
프로그래머스_0단계_숨어있는 숫자의 덧셈 (1)C++ (0) | 2024.04.11 |
프로그래머스_0단계_문자열 정렬하기 (1)C++ (0) | 2024.04.11 |