1120번 문제와 비슷하다고 생각된다.
그러나 채점결과에서 시간과 메모리 둘 다 다른 분들의 풀이보다 뒤떨어졌다.
BufferedReader를 사용하지 않고, 이중 for문을 사용한 이유 때문이라고 생각한다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int i, j;
String A, B;
int count = 0;
int A_length, B_length;
A = scanner.nextLine(); //공백 포함 입력
B = scanner.nextLine(); //공백 포함 입력
A_length = A.length();
B_length = B.length();
for(i = 0; i <= A_length - B_length; i++) //0부터 (A의 길이 - B의 길이)
{
if(A.charAt(i) == B.charAt(0))// A[i]와 B의 첫문자가 같은 경우
{
for(j = 1; j < B_length; j++)
{
if(A.charAt(i + j) == B.charAt(j))
{
;
}
else
{
break;
}
}
if(j == B_length || B_length == 1)
{
i += B_length - 1;//i를 B의 길이만큼 점프
count++;
}
}
else
{
;
}
}
System.out.println(count);
scanner.close();
}
}