자바 split에서 여러 구분자로 문자열을 나눌 때 "|"로 구분하면 된다.
구분자로 특수문자를 줄 때는 앞에 "\" 붙여주어야 한다.
import java.util.*;
class Solution
{
public static void main(String args[]) throws Exception
{
Scanner sc = new Scanner(System.in);
StringBuffer sb = new StringBuffer();
int T = Integer.parseInt(sc.nextLine());
for (int tc = 1; tc <= T; tc++) {
sb.append("#").append(tc).append(" ");
int N = Integer.parseInt(sc.nextLine());
String sentences[] = sc.nextLine().split("\\.|\\?|\\!");
for(int i=0; i< sentences.length; i++){
int count = 0;
String words[] = sentences[i].split(" ");
for(int j=0; j<words.length; j++){
if(words[j].equals(""))
continue;
boolean isName = true;
char firstChar = words[j].charAt(0);
if(firstChar >= 'A' && firstChar <= 'Z'){
//첫 글자가 대문자
for(int k=1; k<words[j].length(); k++){
char curChar = words[j].charAt(k);
if(!(curChar >= 'a' && curChar <= 'z')){
isName = false;
break;
}
}
if(isName){
count++;
}
}
}
sb.append(count).append(" ");
}
sb.append("\n");
}
System.out.println(sb);
}
}