N

(SWEA c++)2007. 패턴 마디의 길이 본문

SW Expert Academy

(SWEA c++)2007. 패턴 마디의 길이

naeunchan 2020. 9. 28. 15:06
728x90
반응형

swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5P1kNKAl8DFAUq&categoryId=AV5P1kNKAl8DFAUq&categoryType=CODE

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

string형 s, tmp 선언.

tmp에는 마디를 나타내는 변수.

처음에는 s [0]을 넣어주고 시작한다.

 

for문으로 1 ~ j.size() - 1까지 반복.

현재 tmp가 s.substr(tmp.size(), j))와 같으면 이후로는 마디가 반복되는 것을 나타낸다.

만약 다르다면 tmp에 s [j]를 계속해서 넣어주면서 마디를 찾아내면 된다.

#include <iostream>
#include <string>

using namespace std;

int main(void)
{
    int t;
    cin >> t;
    
    for(int i = 1; i <= t; i++)
    {
        string s, tmp;
        cin >> s;
        tmp.push_back(s[0]);
        
        for(int j = 1; j < s.size(); j++)
        {
            if(tmp != s.substr(tmp.size(), j))
               tmp.push_back(s[j]);
            else
                break;
        }
        cout << "#" << i << " " << tmp.size() << endl;
    }
    return 0;
}
        
        
728x90
반응형