본문 바로가기
[SWEA] 풀이/[SWEA] D2

[SWEA] SWEA 2007번: 패턴 마디의 길이 파이썬 풀이 - 알고리즘 코딩 문제 해설 python

by codeomni 2023. 4. 13.
반응형

 

안녕하세요.

이번 포스팅은 SWEA의 2007 문제 풀이입니다.

문제 이름은 "패턴 마디의 길이" 입니다.

 

 

풀이


1
2
3
4
5
6
7
8
9
10
11
= int(input())
for i in range(T):
    s = input()
    p_1 = []
    p_2 = []
    for j in range(10):
        p_1 = s[:j]
        p_2 = s[j:j*2]
        if (j != 0and (p_1 == p_2):
            print('#%d %d' %((i+1), len(p_1)))
            break
cs

 

핵심: 슬라이싱 기능을 사용해서 처음부터 j 이전의 패턴과 j부터 j*2의 패턴이 같은지 판별합니다.

 

1. 테스트 개수 T를 입력 받습니다.

 

2. for 문을 사용해서 테스트 개수만큼 반복합니다.

 

3. 패턴을 판별할 문자열을 입력 받습니다.

 

4~5. 패턴을 비교할 변수들을 선언합니다.

 

6. 패턴의 길이는 최대 10이므로 for문으로 탐색합니다.

 

6~7. 처음부터 j 이전의 패턴과 j 부터 j*2이전의 패턴을 슬라이싱을 사용해서 값을 저장합니다.

 

9~11. 저장된 패턴이 같다면 양식에 맞게 출력합니다.

댓글