https://www.acmicpc.net/problem/10820
문제
접근법
주어지지 않은 N개까지 입력을 받는거라 어떻게 받는지 몰라 당황했다.
찾아보니 이런 경우에는 while문을 통해 계속 입력을 받다가
그냥 단순히 입력 받은 변수가 존재하지 않을 때 break를 하는 코드를 사용하면 되었다.
또한, 개행문자로 분리된 문자열을 한 줄씩 받다보니 rstrip('\n')를 통해 개행문자를 제거해줘야 했다.
그리고 다음과 같은 함수들을 사용하였다.
- 대문자인지 판별하는 isupper()
- 소문자인지 판별하는 islower()
- 숫자인지 판별하는 isdigit()
코드
import sys
while 1:
arr=sys.stdin.readline().rstrip('\n')
if not arr:
break
lower,upper,number,empty=0,0,0,0
for i in arr:
if i.islower():
lower+=1
elif i.isupper():
upper+=1
elif i.isdigit():
number+=1
else:
empty+=1
print(lower,upper,number,empty, sep=' ')
'코딩테스트 준비 > 백준' 카테고리의 다른 글
[백준] 11655번 ROT13 - 파이썬(Python) (0) | 2021.08.02 |
---|---|
[백준] 2743번 단어 길이 재기 - 파이썬(Python) (0) | 2021.08.02 |
[백준] 10809번 알파벳 찾기 - 파이썬(Python) (1) | 2021.07.31 |
[백준] 10808번 알파벳 개수 - 파이썬(Python) (0) | 2021.07.31 |
[백준] 1918번 후위 표기식 - 파이썬(Python) (0) | 2021.07.31 |