Java/실습
[Java] 부분 문자열 찾기
tmd1
2022. 7. 18. 16:08
문제:
주어진 입력 문자열에 대하여 목적 문자열이 부분 문자열로 존재하는 경우,
부분 문자열의 시작 인덱스를 출력하는 코드를 작성해보세요.
단, 함수를 이용하여 문제를 해결해주세요. 인덱스는 0부터 시작한다고 가정합니다.
첫 번째 줄에는 입력 문자열이 주어지고,
두 번째 줄에는 목적 문자열이 주어집니다.
1 ≤ 목적 문자열의 길이(M) ≤ 입력 문자열의 길이 (N) ≤ 1,000
주어진 입력 문자열에 대하여 목적 문자열이 부분 문자열로 존재하는 경우,
부분 문자열의 시작 인덱스를 출력하고, 목적 문자열이 부분 문자열로 존재하지 않는 경우 -1을 출력합니다.
단 목적 문자열이 입력 문자열 내에 여러 번 나타나는 경우, 가장 앞선 인덱스를 출력해줍니다.
코드:
import java.util.*;
public class Main {
public static String text, pattern;
public static boolean isSubStr(int StartIdx) {
int n = text.length();
int m = pattern.length();
if(StartIdx+m > n) {
return false;
}
for(int j=0;j<m;j++) {
if(text.charAt(StartIdx+j) != pattern.charAt(j)) {
return false;
}
}
return true;
}
public static int findIndex() {
int n = text.length();
for(int i=0;i<n;i++) {
if(isSubStr(i)) {
return i;
}
}
return -1;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
text = sc.next();
pattern = sc.next();
System.out.println(findIndex());
}
}
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String n = sc.next();
String find = sc.next();
int k = n.indexOf(find);
System.out.println(k);
}
}