코테

99클럽 코테 스터디 2일차 TIL + 백준 10820

pipinstall 2025. 4. 1. 21:14

오늘의 학습 키워드

  • 문자열 비교 분석 ,숫자체크

[백준 10820 문자열 비교 문제]

문제 요약

  • 여러 개의 문자열이 주어졌을 때 소문자, 대문자, 숫자, 공백을 구분 후 각각 개수를 구하는 문제 

해결 방법

문제 해결의 핵심은 문자열을 하나씩 구분하여 갯수를 증가시키면 되는 것입니다.

 

알고리즘:

  1. 문자열을 입력받음
  2. 각각 구분 조건에 적용
  3. 조건에 해당하는 값을 카운트

Java 코드 구현


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

public class Main {
    public static void main(String[] args) {
        BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));
        try {
            String input = "";

            while ((input = buffer.readLine()) != null) {
                int Dstr = 0;
                int Sstr = 0;
                int spStr = 0;
                int number = 0;

                String[] chars = input.split("");

                for (String string : chars) {
                    if (string.equals(" ")) {
                        spStr++;
                    } else if (string.matches("[0-9]")) {
                        number++;
                    } else if (string.equals(string.toLowerCase())) {
                        Sstr++;
                    } else if (string.equals(string.toUpperCase())) {
                        Dstr++;
                    }

                }
                System.out.println(Sstr + " " + Dstr + " " + number + " " + spStr);

            }

        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }
}

 

오늘의 회고

What?

문자열 내 각 문자 유형을 분류하고 개수를 세는 문제를 해결했습니다.

How?

처음에는 라이브러리를 활용하려 했으나, 기본 함수를 사용하라는 제약이 있어 Java의 기본 문자열 처리 함수를 최대한 활용했습니다. 

Point?

  1. java 기본함수를 사용
  2. 입력이 끝날 때까지 반복 처리하는 방식