Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags more
Archives
Today
Total
관리 메뉴

luke

[백준] - 문자열 분석 (10820) (자바/Java) 본문

알고리즘문제/백준 문제(Java)

[백준] - 문자열 분석 (10820) (자바/Java)

luke-king 2024. 6. 3. 16:14

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

문제.


 

 

 

 

 

 

 

 

풀이.


 

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));
        StringBuffer sb = new StringBuffer();
        String s;

        while ((s = br.readLine()) != null) {
            char[] chars = s.toCharArray();

            int small = 0;
            int big = 0;
            int num = 0;
            int space = 0;

            for (char a : chars) {

                if (Character.isLowerCase(a)) {
                    small++;
                }
                if (Character.isUpperCase(a)) {
                    big++;
                }
                if (Character.isDigit(a)) {
                    num++;
                }

                if (a == ' ') {
                   space++;
                }
            }
            sb.append(small + " " + big + " " + num + " " + space + "\n");
        }

        System.out.print(sb);



    }

}

 

오늘의 문제는 백준 " 문자열 분석 " 문제다.

문제 설명을 하자면 입력받은 문자열 들을 알파벳 소문자, 대문자, 숫자, 공백 이렇게 총 4개로 나눠 카운트해서 출력하는 문제다.

그럼 바로 풀이를 해보겠다.

 

1. 입력 받은 입력값들을 toCharArray() 함수로 각각 문자 하나로 배열에 담아준다.

 

2. 담아준 배열을 for each문을 사용해 조건식에 맞춰 준다.

첫 번째 조건 : isLowerCase() 함수를 사용해 소문자를 비교해 준다.

두 번째 조건 : isUpperCase() 함수를 사용해 대문자를 비교해 준다.

세 번째 조건 : isDigit() 함수를 사용해 숫자를 비교해 준다.

네 번째 조건 : ' ' 공백을 비교해 준다.

 

3 출력하면 끝이다!