[코드트리] - 특정 문자열 존재유무

LSDrug·2024년 7월 16일
0

문제풀이

목록 보기
1/21

특정 문자열 존재유무 ⭕

문제

풀이

이 문제를 풀기 위해서는 많은 방법이 있겠지만, 먼저 생각나는 것은 find 함수를 이용하는 것이다.

find 함수는 다음과 같이 사용한다.

stringName.find(searchName or searchWord)

만약 찾는 단어나 변수의 이름이 있다면 해당 인덱스를 반환한다.

그러나, 찾는 단어나 변수가 없다면 쓰레기 값(npos)을 반환한다.

먼저, n번만큼 단어를 받고, 그 단어마다 find를 이용해 찾는 단어가 있는지, 없는지를 구분한다.

찾는 단어가 있는 경우, 배열이나 벡터에 담아놓고, 전부 출력하면 되는 간단한 문제였다.

코드

코드는 다음과 같다.

#include <bits/stdc++.h> 
#include <vector>
using namespace std;

int main() {
    // 여기에 코드를 작성해주세요.

    int n; // 갯수
    string searchWord, words; // 찾을 단어와 단어 모음들
    vector<string> v; // 매칭되는 단어를 넣을 벡터
    vector<string>::iterator iter; // 이터레이터

    cin >> n >> searchWord;

    for(int i = 0; i < n; i++) {
        // 반복문에서 찾기 시작
        cin >> words; // 단어 모음 받기

        if(words.find(searchWord) != string::npos) { 
        // 만약 찾는 값이 있다면 == 쓰레기값(npos)이 아니라면
            v.push_back(words); // 벡터에 넣는다. 
        } else {continue;} // 아니면 그냥 통과

    }

    // 벡터에 들어있는 단어를 몽땅 출력한다. 
    for(iter = v.begin(); iter != v.end(); iter++) {
        cout << *iter << endl;
    }
    
    return 0;
}

profile
마약같은 코딩, 마약같은 코딩러

0개의 댓글

관련 채용 정보