문제 설명
문제
문자열 N개가 주어진다. 이때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오.
각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있다.
입력
첫째 줄부터 N번째 줄까지 문자열이 주어진다. (1 ≤ N ≤ 100) 문자열의 길이는 100을 넘지 않는다.
출력
첫째 줄부터 N번째 줄까지 각각의 문자열에 대해서 소문자, 대문자, 숫자, 공백의 개수를 공백으로 구분해 출력한다.
풀이 과정
문자열을 입력받을 때, 얼마나 입력받을지 정해지지 않은 경우 쓰여지는 방법
try: string = input() ... except EOFError: break
위 방법으로 문자열을 입력받은 뒤, 문자 하나씩 소문자인지, 대문자인지, 숫자인지, 공백인지 검사하고 개수를 늘리면 된다.
소스 코드
import sys
N = 0
for i in range(100):
try:
string = input()
lower, upper, digit, blank = 0, 0, 0, 0
for char in string:
if char == " ":
blank += 1
if char.isupper():
upper += 1
if char.islower():
lower += 1
if char.isdigit():
digit += 1
print("%d %d %d %d"%(lower, upper, digit, blank))
except EOFError:
break
'알고리즘[Python] > 백준 알고리즘' 카테고리의 다른 글
[ 9934 ] [Tree] 완전 이진 트리 (0) | 2021.08.10 |
---|---|
[ 2018 ] [투포인터] 수들의 합 5 (0) | 2021.08.09 |
[ 4690 ] [완전 탐색] 완전 세제곱 (0) | 2021.08.08 |
[ 1477 ] [ 이분 탐색 ] 휴게소 세우기 (0) | 2021.08.07 |
[ 6236 ] [ 이분탐색 ] 용돈 관리 (0) | 2021.08.06 |