https://www.acmicpc.net/problem/1543
알고리즘 분류
- 문자열
- 브루트포스 알고리즘
풀이
문자열 (String) 의 함수를 이용해 풀었다.
String의 함수 중
contains() : 매개변수가 문자열 중에 포함되어 있으면 true,
substring(): 문자열을 자르는 함수
indexOf(): 매개변수로 들어온 문자열이 문자열안에 몇번째에 있는지,
이 세 함수를 이용해서 풀었다.
핵심로직은 다음과 같다.
while( document.contains(word) ){ // document 문자열안에 word가 포함되어 있을 때 까지 loop
// word가 끝나는 위치부터 document의 길이까지 잘라, 다시 document에 저장한다.
document = document.substring(document.indexOf(word) + word.length(), document.length() );
cnt++; // 문자가 존재해서 잘랐으니 count 증가
}
아래는 전체 정답 코드이다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String document = br.readLine();
String word = br.readLine();
int cnt = 0;
while( document.contains(word) ){
document = document.substring(document.indexOf(word) + word.length(), document.length() );
cnt++;
}
System.out.println(cnt);
}
}
'BOJ, Programmers' 카테고리의 다른 글
[Java] 백준 2075 (N번째 큰 수) 자바 문제 풀이 (1) | 2024.04.15 |
---|---|
[Java] 백준 1312 번 (소수) 문제 풀이 (0) | 2024.04.10 |
[Java] 백준 1448 번 (삼각형 만들기) (0) | 2024.04.08 |
[Java] 백준 2725번 (보이는 점의 개수) (2) | 2024.04.06 |
[Java] 백준 1449번 (수리공 항승) (0) | 2024.04.06 |