[백준] 10820번 문자열 분석 Java 문제 풀이
2022. 2. 4. 08:35ㆍ알고리즘/백준
728x90
반응형
문제풀이
import java.io.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
interface Main{
static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String regex = "([a-z])|([A-Z])|([\\d])|([ ])";
String str = "";
Matcher matcher;
while((str = br.readLine()) != null) {
int a = 0, b = 0, c = 0, d = 0;
matcher = Pattern.compile(regex).matcher(str);
while(matcher.find()) {
if(matcher.group(1) != null) a++;
if(matcher.group(2) != null) b++;
if(matcher.group(3) != null) c++;
if(matcher.group(4) != null) d++;
}
bw.write(a + " " + b + " " + c + " " + d + "\n");
}
bw.flush();
}
}
입력받은 문자열을 분석해서 소문자, 대문자, 숫자, 공백 개수를 각각 순서대로 출력해야 합니다.
정규식에 소괄호 여러 개 놓으면 Matcher.group(int)으로 정규식에 매칭된 단어를 뽑아낼 수 있습니다.
각각 null이 아니면 값을 세서 마지막에 출력시켜 줍니다.
출처 : https://www.acmicpc.net/problem/10820
728x90
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 11094번 꿍 가라사대 Java 문제 풀이 (0) | 2022.02.07 |
---|---|
[백준] 18332번 Valid Emails Java 문제 풀이 (0) | 2022.02.04 |
[백준] 9996번 한국이 그리울 땐 서버에 접속하지 Java 문제 풀이 (0) | 2022.02.04 |
[백준] 8595번 히든 넘버 Java 문제 풀이 (0) | 2022.02.03 |
[백준] 5698번 Tautogram Java 문제 풀이 (0) | 2022.02.03 |