본문 바로가기

Algorithm

[Java] 백준 10820번 : 문자열 분석

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);
        }
    }
}

'Algorithm' 카테고리의 다른 글

[Java] 백준 11944 : NN  (0) 2022.04.01
[Java] 백준 2864번 : 5와 6의 차이  (0) 2022.03.27
[Java] 백준 1100번 : 하얀 칸  (0) 2022.03.10
[Java] 백준 21312번 : 홀짝 칵테일  (0) 2022.03.08
[Java] 백준 6378번 : 디지털 루트  (0) 2022.03.02