본문 바로가기

알고리즘 문제풀이

Swea D4_3143 가장빠른 문자열 Python String

while 문을 이용한 풀이

T =int(input())
for tc in range(1,T+1):
    A,B = map(str,input().split())
    a_len = len(A)
    b_len = len(B)
    # a sa k u sa 5번만에 된다
    cnt = 0
    i = 0
    while i < a_len:
        if B == A[i:i+b_len]: # 0 1 2 3 인덱스 비교
            cnt += 1
            i += b_len
        else:
            i +=1
    print(cnt)
    print(f'#{tc} {a_len - b_len * cnt + cnt}')

 

for 문 이용해서 해보려고했지만, 주어진 output은 만족시켰음에도 테스트케이스는 하나도 안맞았음

T =int(input())
for tc in range(1,T+1):
    A,B = map(str,input().split())
    a_len = len(A)
    b_len = len(B)
    # a sa k u sa 5번만에 된다
    cnt = 0
    for i in range(a_len - b_len+1): # 6 - 4 + 1
        if B == A[i:i+b_len]: # 0 1 2 3 인덱스 비교
            cnt +=1
    print(f'#{tc} {a_len - b_len * cnt + cnt}')