Algorithm
[Java] 백준 10820번 : 문자열 분석
Woogie
2022. 3. 16. 20:02
1. 문제
https://www.acmicpc.net/problem/10820
10820번: 문자열 분석
문자열 N개가 주어진다. 이때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오. 각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있
www.acmicpc.net

2. 풀이
- while문에 조건을 줄 때 hasNextLine() 메소드를 활용했다.
- hasNextLine() 메소드는 boolean 타입으로 반환된다. 즉 다음에 읽어 올 값이 있으면 true를 반환하고, 그렇지 않을 경우 false를 반환한다.
3. 코드
package baekjoon;
import java.util.Scanner;
public class Q10820 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNextLine()) {
String str = scanner.nextLine();
int lower = 0; // 소문자
int upper = 0; // 대문자
int number = 0; // 숫자
int blank = 0; // 공백
for (int i = 0; i < str.length(); i++) {
char[] chArr = str.toCharArray();
if (chArr[i] >= 97 && chArr[i] <= 122) {
lower++;
} else if (chArr[i] >= 65 && chArr[i] <= 90) {
upper++;
} else if (chArr[i] >= 48 && chArr[i] <= 57) {
number++;
} else {
blank++;
}
}
System.out.println(lower + " " + upper + " " + number + " " + blank);
}
}
}