문제.

풀이.
푸는 방법은 다양하지만 matcher을 이용하여 풀었다.
코드.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class App {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
for(int i=0;i<10;i++){
int TC = Integer.parseInt(br.readLine());
String str = br.readLine(); // 찾아야할 단어
String arr = br.readLine(); // 단어가 포함되어있는 글
int count = 0; // 단어가 일치하는 횟수
Matcher matcher = Pattern.compile(str).matcher(arr);
while(matcher.find()){
count++;
}
System.out.printf("#%d %d\n", TC, count);
}
}
}
결과.
1차 오답이 난 이유는 테스트 케이스 하나만 확인하기 위해 for문을 1개만 돌게 해놔서 오답이었다.

소감.
java내에 내장되어있는 것들을 더 많이 공부해서 사용해야겠다.
'코딩테스트' 카테고리의 다른 글
| SWEA 1216 : 회문2 (0) | 2024.03.05 |
|---|---|
| SWEA 1215 : 회문1 (0) | 2024.03.05 |
| SWEA 2005 : 파스칼의 삼각형 (0) | 2024.02.23 |
| SWEA 2072 : 간단한 369게임 (0) | 2024.02.22 |
| SWEA 1859 : 백만장자 프로젝트 (0) | 2024.02.22 |