Algorithm/백준 알고리즘

백준_1543 문서 검색(자바) / 문자열

미스터로즈 2021. 7. 8. 18:30

시간&메모리 제한

 

문제

 

입력&출력

 

문제풀이

package com.Back;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Back_1543 {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String temp = br.readLine();
		String search = br.readLine();
		int ans=0;
		
		for (int i = 0; i < temp.length()-search.length()+1; i++) {
			if(temp.substring(i, i+search.length()).equals(search)) {
				ans++;
				i+=search.length()-1;
			}
		}
		System.out.println(ans);
	}
}

 

- 이 문제는 문자열로 해결할 수 있는 문제입니다.

 

- temp에 전체 문자열을 넣고, search에 찾고자 하는 문자열을 넣어줍니다.

 

- for문을 돌릴 때, 전체 길이에서 찾고자 하는 길이를 빼고 +1 을 해준 값 만큼 돌려주면 됩니다.

 

- 동일한 문자열을 찾았을 때, 문자열 만큼 넘기면 찾은 문자열 다음으로 인덱스가 변경이 되는데, for문이 끝나는 동시에 또 1을 증가시키기 때문에 1을 감소 시켜줍니다.