just inside

[SWEA/D2] 2007. 패턴 마디의 길이 본문

coding test/SWEA

[SWEA/D2] 2007. 패턴 마디의 길이

방울도마도 2024. 11. 4. 16:54
728x90

[문제 링크]

https://github.com/tjdud1199/coding_test_study/tree/main/SWEA/D2/2007.%E2%80%85%ED%8C%A8%ED%84%B4%E2%80%85%EB%A7%88%EB%94%94%EC%9D%98%E2%80%85%EA%B8%B8%EC%9D%B4

 

coding_test_study/SWEA/D2/2007. 패턴 마디의 길이 at main · tjdud1199/coding_test_study

Contribute to tjdud1199/coding_test_study development by creating an account on GitHub.

github.com


[문제 설명]

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


[제약 사항]

 

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


[입력]

 

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

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

 

[출력]

 

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

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


제출 코드

t = int(input())

for i in range(1, t+1):
    case = input()
    madi = ''
    for j in range(30):
        madi += case[j]
        if madi == str(case[j+1:j+len(madi)+1]):
            print('#'+str(i), len(madi))
            break

 

풀이

  • 반복될 마디를 계속 체크한다. 마디와 다음 마디가 일치하면 패턴을 발견한 것이므로 결괄르 출력한다.
  • 현재까지 저장된 마디를 기준으로, 다음 마디를 슬라이싱 해서 비교한다.

알아둘 사항

  •  
728x90