티스토리 뷰

반응형

문제

 

10820번: 문자열 분석

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

www.acmicpc.net

풀이

종료조건이 주어지지 않아 while문을 활용했다.

strip을 사용하면 안되는 이유: 왼쪽여백 오른쪽 여백도 카운트 해줘야하기 때문에 

rstrip('\n')을 활용해서 엔터친 부분만 지워줬다.

import sys

while True:
    line = sys.stdin.readline().rstrip('\n')

    if not line:
        break

    # 소문자, 대문자, 숫자, 공백
    l, u, d, s = 0, 0, 0, 0
    for each in line:
        if each.islower():
            l += 1
        elif each.isupper():
            u += 1
        elif each.isdigit():
            d += 1
        elif each.isspace():
            s += 1

    print(l, u, d, s)

반응형