학습
시험

부분 문자열 탐색

난이도
STARTER

문제 설명

문자열 text와 찾고자 하는 부분 문자열 pattern이 주어질 때, text에서 pattern이 처음으로 등장하는 인덱스를 반환하는 solution 함수를 작성하시오.

만약 pattern이 text에 존재하지 않는다면 -1을 반환합니다.

예를 들어, text가 "ABABDABACDABABCABAB"이고 pattern이 "ABABC"라면, "ABABC"는 인덱스 10에서 처음 등장하므로 10을 반환합니다.


제한 사항

  • text의 길이는 1 이상 10,000 이하입니다.
  • pattern의 길이는 1 이상 1,000 이하입니다.
  • text와 pattern은 알파벳 대문자로만 구성됩니다.

예시 테스트케이스 설명

테스트케이스 번호 text pattern return
1 "ABABDABACDABABCABAB" "ABABC" 10
2 "HELLO" "LL" 2
3 "ABCDEFG" "XYZ" -1

1번 테스트케이스 설명

"ABABDABACDABABCABAB"에서 "ABABC"는 인덱스 10에서 처음 등장합니다.

  • 인덱스 0~4: "ABABD" (불일치)
  • 인덱스 5~9: "ABACD" (불일치)
  • 인덱스 10~14: "ABABC" (일치)

따라서 10을 반환합니다.

2번 테스트케이스 설명

"HELLO"에서 "LL"은 인덱스 2에서 처음 등장합니다.

  • 인덱스 0~1: "HE" (불일치)
  • 인덱스 1~2: "EL" (불일치)
  • 인덱스 2~3: "LL" (일치)

따라서 2를 반환합니다.

3번 테스트케이스 설명

"ABCDEFG"에서 "XYZ"는 존재하지 않습니다. 따라서 -1을 반환합니다.