Notice
Recent Posts
Recent Comments
Link
just inside
[SWEA/D2] 2007. 패턴 마디의 길이 본문
728x90
[문제 링크]
[문제 설명]
패턴에서 반복되는 부분을 마디라고 부른다. 문자열을 입력 받아 마디의 길이를 출력하는 프로그램을 작성하라.
[제약 사항]
각 문자열의 길이는 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
'coding test > SWEA' 카테고리의 다른 글
[SWEA/D2] 1984. 중간 평균값 구하기 (0) | 2024.11.04 |
---|---|
[SWEA/D2] 1983. 조교의 성적 매기기 (0) | 2024.11.04 |
[SWEA/D2] 1959. 두 개의 숫자열 (0) | 2024.11.01 |
[SWEA/D2] 1948. 날짜 계산기 (0) | 2024.10.31 |
[SWEA/D2] 1946. 간단한 압축 풀기 (0) | 2024.10.31 |