백준 1543번 문서 검색(JAVA)
- 풀이 방식
전체 문서인 str , 검색하려는 단어 input 스트링 선언 후
문서중에 input.charAt[0] 으로 시작하는 지점이 있는지 찾고 있다면 그 지점부터 input 크기만큼 자른 것이 input과 같은지 체크한다.
중복되지 않게 input스트링을 검색해야하므로 이미 검색된 부분은 visited 배열을 통해 해결했다.
이미 검색된 부분은 true 처리하여 다시 검색되지 않도록 했다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Main {
public static void main(String[] args ) throws IOException{
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
String input = sc.nextLine();
int cnt = 0;
boolean [] visited = new boolean[str.length()];
Arrays.fill(visited, false);
for(int i = 0 ; i < str.length()- input.length()+1; i ++) {
//문서중에 단어로 시작하는곳이 있음
if(input.charAt(0) == str.charAt(i) && !visited[i]) {
//시작지점부터 단어 크기로 자른거랑 단어가 동일함
if(str.substring(i,i+input.length()).equals(input)) {
//System.out.printf("%s ", str.substring(i,i+input.length()));
cnt++;
for(int k = i ; k < i+input.length(); k++) {
//검색된 부분은 true 처리해서 다시 검색 안되도록 처리
visited[k] = true;
}
}
}
}
System.out.println(cnt);
}
}
Author And Source
이 문제에 관하여(백준 1543번 문서 검색(JAVA)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@alstjdwo1601/백준-1543번-문서-검색JAVA저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)