CodingTest/Baekjoon

[baekjoon] 백준 10820번(파이썬): 문자열 분석

JunJangE 2021. 9. 13. 09:44

문제

 

10820번: 문자열 분석

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

www.acmicpc.net

알고리즘

- 문자열이 몇 번 입력받는지 모르기에 while문을 통해 반복한다.

- 리스트를 입력받고 문자를 반복하여 어떤 문자인지 확인하여 카운트한다.

- 리스트에 아무것도 입력받지 못했다면 반복문을 멈춘다.

코드

import sys

while True:

    n = list(map(str, sys.stdin.readline().rstrip("\n")))
    upper = 0
    lower = 0
    num = 0
    blank = 0

    # 리스트 안에 아무것도 없으면 멈춘다.
    if not n:
        break

    # 문자를 반복하여 어떤 문자인지 확인
    for i in n:
        # 대문자인지
        if i.isupper():
            upper += 1

        # 소문자인지
        elif i.islower():
            lower += 1

        # 숫자인지
        elif i.isdigit():
            num += 1

        # 공백인지
        elif i == " ":
            blank += 1

    print(lower, upper, num, blank)

github

 

GitHub - junjange/CodingTest: 내가 푼 코딩 테스트 문제와 해결법

내가 푼 코딩 테스트 문제와 해결법. Contribute to junjange/CodingTest development by creating an account on GitHub.

github.com