PS/BOJ

BOJ 10820 문자열 분석 [Java]

모달조아 2021. 7. 21. 02:25

BOJ 10820 문자열 분석

- 문제 링크

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

- 문제 해설

문자열 N개가 들어오는데 N이 주어지지않는다. while문을 돌리는데 입력이 없으면 종료하도록 만들었다.
소문자, 대문자, 숫자, 공백의 횟수를 담을 크기가 4인 ans 배열을 만들었다.
입력 받은 문자열의 문자를 하나씩 살펴보며 소문자면 arr[0]을, 대문자면 arr[1]을, 숫자면 arr[2]를, 공백이면 arr[3]을 증가시켰다.

- 코드 보기

import java.io.*;

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

        while ((str = br.readLine()) != null)
        {
            int ans[] = new int[4];

            for (int i = 0; i < str.length(); i++)
            {
                char a = str.charAt(i);
                if (a >= 'a' && a <= 'z')
                    ans[0]++;
                else if (a >= 'A' && a <= 'Z')
                    ans[1]++;
                else if (a >= '0' && a <= '9')
                    ans[2]++;
                else if (a == ' ')
                    ans[3]++;
            }

            for (int i = 0; i < 4; i++)
            {
                bw.write(Integer.toString(ans[i]) + " ");
            }

            bw.newLine();
        }

        br.close();
        bw.flush();
        bw.close();
    }
}