기타/C++ 문법

<find> 문자열 안에 문자/문자열 찾기

배발자 2022. 1. 13.
반응형

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"; 
	}
}

출력부분

반응형

댓글