SWEA - [d2] 2007 패턴 마디의 길이

Esther·2022년 11월 19일
0

SWEA

목록 보기
37/46

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

[제약 사항]

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

[입력]

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

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

[출력]

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

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

입력
3
KOREAKOREAKOREAKOREAKOREAKOREA
SAMSUNGSAMSUNGSAMSUNGSAMSUNGSA
GALAXYGALAXYGALAXYGALAXYGALAXY

출력
#1 5
#2 7
#3 6

package prc_d2;

import java.util.Scanner;

public class P2007 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int T = sc.nextInt();

		for (int tc = 1; tc <= T; tc++) {
			String str = sc.next();

			for (int i = 1; i <= str.length(); i++) {
				String b = str.substring(0, i);
				// 0번째 문자부터 i번째까지 b에 저장

				String c = str.substring(i, i + i);
				// i번째부터 (i+i)번째까지 잘라서 c에 저장
				// ex) i*2 -> 1번째라고 가정하면 2번째까지

				// 이런식으로 str의 길이만큼 반복

				if (b.equals(c)) {
					// 검사를 계속하면서 b랑 c가 같아지면 멈춤

					System.out.println("#" + tc + " " + i);
					break;
				}
			}

		}

	}

}

0개의 댓글