https://www.acmicpc.net/problem/10820
Problem
- 문자열 N개가 주어진다. 이때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오.
- 각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있다.
조건
- 첫째 줄부터 N번째 줄까지 문자열이 주어진다. (1 ≤ N ≤ 100) 문자열의 길이는 100을 넘지 않는다.
SOL
파이썬에는 문자열이 소문자인지, 대문자인지, 숫자인지, 공백인지 확인하는 함수가 내장되어있다.
내장함수를 썼지만, 사실 내장되어 있지않다고 해도, 아스키코드를 이용해서, 검사를 할 수 있다.
3번째 입력에서 뒤에 공백이 더 있는걸 모르고, rstrip()을 그냥해주는 실수를 범하지 말자 :(
그리고, 입력이 종료되는 시점은 딱히 정해지는게 없으므로, 그냥 입력이 비었다면 입력을 종료해줬다.
import sys
input= sys.stdin.readline
while True:
line = input().rstrip("\n")
lo,up,num,blank=0,0,0,0
if not line:
break
for s in line:
if s.islower():
lo+=1
if s.isupper():
up+=1
if s.isdigit():
num+=1
if s.isspace():
blank+=1
print(f"{lo} {up} {num} {blank}")
'알고리즘 문제(SOL)' 카테고리의 다른 글
[백준/2623/파이썬] 음악 프로그램 (0) | 2022.04.10 |
---|---|
[백준/2252/파이썬] 줄 세우기 (0) | 2022.04.08 |
[백준/1074/파이썬] Z (0) | 2022.04.06 |
[백준/1080/파이썬] 행렬 (0) | 2022.04.05 |
[백준/18111/파이썬] 마인크래프트 (0) | 2022.04.05 |