[SWEA-D2] C++ 2007. 패턴 마디의 길이

민지·2023년 5월 20일
0

SWEA

목록 보기
19/23
post-custom-banner

패턴에서 반복되는 부분을 마디라고 부른다. 문자열을 입력 받아 마디의 길이를 출력하는 프로그램을 작성하라.

[제약 사항]

각 문자열의 길이는 30이다. 마디의 최대 길이는 10이다.

[입력]

가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다.

각 테스트 케이스의 첫 번째 줄에는 길이가 30인 문자열이 주어진다.

[출력]

출력의 각 줄은 '#t'로 시작하고, 공백을 한 칸 둔 다음 정답을 출력한다.

(t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.)

#include<iostream>
#include<string>
using namespace std;

int main(int argc, char** argv)
{
	int test_case;
	int T;
	cin>>T;
	
	for(test_case = 1; test_case <= T; ++test_case)
	{
        int count = 1;
        string str, tmp;
        cin >> str;
        
        tmp += str[0];
        for(int i=1; i<str.size(); i++)
        {
        	if(tmp != str.substr(tmp.size(), i)) //[tmp.size번째 위치에서 i개 글자 출력]
            {
            	tmp += str[i];
                count++;
            }
            else
            {
            	break;
            }
        }
        cout << "#" << test_case << " " << count << endl;
	}
	return 0;
}
profile
개발일지
post-custom-banner

0개의 댓글