주어진 입력 문자열에 대하여 목적 문자열이 부분 문자열로 존재하는 경우, 부분 문자열의 시작 인덱스를 출력하는 코드를 작성해보세요. 인덱스는 0부터 시작한다고 가정합니다.
import sys
input_str = input()
target_str = input()
input_len, target_len = len(input_str), len(target_str)
# 입력 문자열의 각 문자를 시작점으로 하여 목적 문자열을 만들 수 있는지 확인합니다.
for i in range(input_len):
# input_str의 i 부터 i + target_len - 1까지의 원소가
# target_len의 0부터 target_len - 1 까지의 원소와
# 정확히 일치하는지 확인합니다.
# 만약 input_str의 끝 원소인 i + target_len - 1 번째가
# 존재하지 않는다면 비교를 하지 않습니다.
if i + target_len - 1 >= input_len:
continue
# input_str의 s_idx1에서 e_idx1 까지의 문자열과
# output_str의 s_idx2에서 e_idx2 까지의 문자열과 일치하는지를 비교합니다.
is_matched = True
for j in range(target_len):
if input_str[i + j] != target_str[j]:
is_matched = False
if is_matched:
# 모든 문자에 대하여 매칭이 된 경우:
print(i)
sys.exit(0)
# 매칭이 되지 않는 경우:
print(-1)
# 풀이 --------------------------------------
str1 = input()
str2 = input()
print(str1.find(str2))
'Python > [코드트리]' 카테고리의 다른 글
[코드트리] 문자열 밀기 > 문자열 한 칸씩 밀어내며 뒤집기 (0) | 2023.07.07 |
---|---|
[코드트리] 문자열 밀기 > 문자열 돌리기 (0) | 2023.07.07 |
[코드트리] 문자열 찾기 > 부분 문자열의 개수 (0) | 2023.07.04 |
[코드트리] 문자열 Concat > 문자열 나누기(★) (0) | 2023.07.04 |
[코드트리] 문자열 순회하기 > 짝수 번째만 거꾸로 출력 (0) | 2023.07.03 |