ALGORITHM

[JAVA] 백준 10820번- 문자열 분석

연듀 2022. 10. 9. 12:43

https://www.acmicpc.net/problem/10820

 

10820번: 문자열 분석

문자열 N개가 주어진다. 이때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오. 각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있

www.acmicpc.net

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main{
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        String str = "";

        while((str = br.readLine())!=null){
            int[] arr = new int[4];
            for(char x : str.toCharArray()){
                if(x >=97 && x <=122) arr[0]++; // 소문자
                else if(x >=65 && x <=90) arr[1]++; // 대문자
                else if(Character.isDigit(x)) arr[2]++;
                else if(x==' ') arr[3]++;
            }
            for(int x : arr){
                System.out.print(x+" ");
            }
            System.out.println();
        }
    }
}

 

 

EOF 처리 방법에 대해 몰랐는데 알게 됐다.

br.readLine()으로 입력값을 계속 읽다가, 읽은 값이 null이 되면 반복문을 종료하는 방식

이다.