1. 단순하게 문자열 처리를 할 수 있으면 정답이다.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.*; | |
import java.io.*; | |
/** | |
* https://www.acmicpc.net/problem/10820 | |
* BOJ 백준온라인져지 10820 문자열 분석 풀이 | |
*/ | |
public class Main { | |
private static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); | |
public static void main(String args[]) throws IOException { | |
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); | |
String str = null; | |
while ((str = br.readLine()) != null) { | |
int a = 0; | |
int b = 0; | |
int c = 0; | |
int d = 0; | |
for (int i = 0; i < str.length(); i++) { | |
char t = str.charAt(i); | |
if (t <= 'Z' && t >= 'A') b++; | |
else if (t <= 'z' && t >= 'a') a++; | |
else if (t <= '9' && t >= '0') c++; | |
else d++; | |
} | |
bw.write(a + " " + b + " " + c + " " + d + "\n"); | |
} | |
bw.flush(); | |
} | |
} |
문제
문자열 N개가 주어진다. 이 때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오.
각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있다.
입력
첫째 줄부터 N번째 줄까지 문자열이 주어진다. (1 ≤ N ≤ 100) 문자열의 길이는 100을 넘지 않는다.
출력
첫째 줄부터 N번째 줄까지 각각의 문자열에 대해서 소문자, 대문자, 숫자, 공백의 개수를 공백으로 구분해 출력한다.
예제 입력 1
This is String SPACE 1 SPACE S a M p L e I n P u T 0L1A2S3T4L5I6N7E8
예제 출력 1
10 2 0 2 0 10 1 8 5 6 0 16 0 8 9 0
힌트
'IT > 알고리즘' 카테고리의 다른 글
BOJ 백준온라인져지 11722 가장 긴 감소하는 부분 수열 풀이 (0) | 2018.05.23 |
---|---|
BOJ 백준온라인져지 1614 영식이의 손가락 풀이 (0) | 2018.05.22 |
BOJ 백준온라인져지 12785 토쟁이의 등굣길 풀이 (0) | 2018.05.21 |
BOJ 백준온라인져지 14563 완전수 풀이 (0) | 2018.05.18 |
BOJ 백준온라인져지 5533 유니크 풀이 (0) | 2018.05.18 |