반응형
find 코딩테스트에서 정말 많이 쓰이는 함수이다.
어떠한 문자 또는 문자열을 찾기 위해서 for문을 돌려가며 체크를 무식하게 해왔던 기억이 있다.
그렇게 하지말고 find 함수를 사용하여 쉽게 check 를 할 수 있다.
다음 코드를 보면서 find를 이해하고 문법을 바로 사용할 수 있을 정도로 익히자
*추가적으로 s.find("hi", 5) ; 라고 적혀있으면 "hi"라는 문자열을 s라는 문자열 5번째 위치부터 찾겠다는 뜻.
#include <iostream>
#include <string>
using namespace std;
int main() {
string s = "himynameis";
cout << " 인덱스 번호 \n";
for (int i = 0; i < s.size(); i++) cout << i << " ";
cout << "\n";
for (int i = 0; i < s.size(); i++) cout<< s[i] << " ";
cout << "\n";
cout << s.find('i')<<"\n";//i가 2개지만 제일 먼저 찾아지는 인덱스 반환
cout << s.find("name")<<"\n";//해당 문자열이 있다면 제일 앞부분 인덱스 반환
cout << s.find('z')<<"\n"; //해당 문자가 없으면 쓰레기값 반환
if (s.find('z') == string::npos) {//다음과 같이 구현
cout << "해당문자 없음" << "\n";
}
}
반응형
'기타 > C++ 문법' 카테고리의 다른 글
<sqrt> 제곱근(루트) (0) | 2022.01.13 |
---|---|
<abs> 절댓값 반환 (0) | 2022.01.13 |
<next_permutation> 모든 경우의 수 정렬 (0) | 2022.01.13 |
<substr> 인덱스로 문자열 자르기 (1) | 2022.01.13 |
<stringstream> 공백으로 문자열 자르기 (0) | 2022.01.13 |
댓글