알고리즘/자료구조 1 참고
문자열 분석
hp0724
2023. 6. 28. 12:15
문제
문자열 N개가 주어진다. 이때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오.
각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있다.
입력
첫째 줄부터 N번째 줄까지 문자열이 주어진다. (1 ≤ N ≤ 100) 문자열의 길이는 100을 넘지 않는다.
출력
첫째 줄부터 N번째 줄까지 각각의 문자열에 대해서 소문자, 대문자, 숫자, 공백의 개수를 공백으로 구분해 출력한다.
나의 풀이
# 문자열 N개가 소문자,대문자,숫자,공백
import sys
# "a" = 97 "z" 122 'A' =65 'Z'=90 ' ' = 32
while True:
expression = sys.stdin.readline().strip("\n")
# EOF 처리
if not expression:
break
small_letter = 0
capital_letter = 0
number = 0
blank = 0
for i in expression:
if ord(i) >= 97 and ord(i) <= 122:
small_letter += 1
elif ord(i) >= 65 and ord(i) <= 90:
capital_letter += 1
elif ord(i) >= 48 and ord(i) <= 57:
number += 1
elif ord(i) == 32:
blank += 1
print(small_letter, capital_letter, number, blank)
n을 입력받는 경우가 없는경우 종료조건을 넣어야함
expression = sys.stdin.readline().rstrip()
# EOF 처리
if not expression:
break
expression = sys.stdin.readline().strip("\n")
문자열 뒤에도 공백이 있을수 있으니깐 strip을 \n만 주기