Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

개발 공부

문자열 비교 compare (feat.패턴 찾기) 본문

코딩 테스트 준비/c++

문자열 비교 compare (feat.패턴 찾기)

방구석개발입문 2022. 11. 12. 02:16

헤더함수는 <string>

compare함수 - 문자열 비교

compare함수는 문자열이 같은면 0, 작으면 음수, 크면 양수를 리턴함

 

 

string1, string2가 있을때

1) 문자열 비교

string1.compare(string2);

 

2)부분 문자열 비교_1

string1.compare(2,4,string2);

 

string1이 xxequl이라면

index 2에서

4개에 해당하는 문자열을 string2와 비교

 

2)부분 문자열 비교_1

string1.compare(2, 4, string2, 0, 4);

 

string1이 xxequl이고,

string2가 equlxx이면

string1의 index 2에서4개에 해당하는 문자열

string2의 index 0에서 4개에 해당하는 문자열을 비교

 

 

 

* 문자열의 패턴을 찾아 출력하는 문제

#include <iostream>
#include <string>

using namespace std;

int main() {
    
    int x;
    cin >>x;
    for(int i=1;i<=x;i++)
    {
        string s;
        int end=0;
        cin >>s;
        cout << "#"<<i <<" ";
        
        for(int j=1; j<10; j++)
        {
            if(s[j] == s[0])
            {
                if(s.compare(0, j, s, j, j) == 0 )
                {
                    end = j;
                }
            }
            
            if(end != 0)
                break;
        }
        
        for(int j=0; j<end; j++)
            cout<<s[j];
        cout<<'\n';
        
    }
}

for문을 사용해 우선 첫번째 문자가 같은지 확인후 

이후 문자들도 같은지 확인하기 위해 

compare함수를 사용

 

 

 

 

 

'코딩 테스트 준비 > c++' 카테고리의 다른 글

정렬 (feat. 순열)  (0) 2022.11.15
369게임  (0) 2022.11.12
중간값 알아내기  (0) 2022.11.05
c++ 문자열 길이  (0) 2022.11.04
이차원배열 입력받기! (백준- 행렬덧셈 feat.파이썬 print 옵션)  (0) 2022.11.04