문제 : https://www.acmicpc.net/problem/10820
이 문제의 특징은 입력값의 개수를 받지 않는다는 것이다.
때문에 두가지 방법으로 이를 처리할 수 있다.
1.input()
으로 입력 받았을 경우
2.readline()
으로 입력 받았을 경우# 1번 케이스 while True: try: line = input() except EOFError: break ㅤ # 2번 케이스 while True: line = sys.stdin.readline().rstrip() if not line: break
- EOFError : (End Of File) 더 이상 입력값이 없는 상황을 나타낸다.
- if not line :
rstrip()
을 꼭 적어주고 아무것도 입력 되지 않았을 때 반복문을 탈출 할 수 있게 해준다.
while True:
try:
sentense = input()
result = [0] * 4
for a in sentense:
if('a' <= a <= 'z'):
result[0] += 1
elif('A' <= a <= 'Z'):
result[1] += 1
elif(a.isdigit() == True):
result[2] += 1
elif(a == " "):
result[3] += 1
print(*result)
except EOFError:
break
'a' <= alphabet <= 'z'
이런방법도 있긴 하지만 쓸만한 함수 세트가 있다.isupper(), islower(), isdigit(), isspace()
를 사용하면 된다.