728x90
[문제]
https://www.acmicpc.net/problem/10820
10820번: 문자열 분석
문자열 N개가 주어진다. 이때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오. 각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있
www.acmicpc.net
[코드]
- N번째 줄까지 문자열이 주어지는데, N번을 입력하는 입력값을 주지 않는다.
>> 예외처리한다.
예외(Exception)란 코드를 실행하는 중에 발생한 에러를 뜻한다.
[Try, except 문으로 예외처리하기]
try:
실행할 코드
except:
예외가 발생했을 때 처리할 코드
[특정 예외만 처리하기]
try:
실행할 코드
except 예외이름:
예외가 발생했을 때 처리하는 코드
[예외의 에러 메시지 받아오기]
try:
실행할 코드
except 예외 as 변수:
예외가 발생했을 때 처리하는 코드
- 위의 개념들을 해당 문제에 적용해보면, 다음과 같다.
- EOFError (End Of File Error) : 입력이 끝나면 종료, 입력이 끝날 때까지 받는 경우 사
while True:
try:
s = input()
except EOFError:
break
[최종 코드]
#B2_10820 문자열 분석.py
def cnt(s):
low, up, num, space = 0,0,0,0
for i in s:
if i.isdigit(): num += 1
elif i.isupper(): up += 1
elif i.islower(): low += 1
else: space += 1
return low, up, num, space
#main
while True:
try:
s = input()
if cnt(s):
print(*cnt(s))
else:
break
except EOFError:
break
반응형
'🚩 Coding Test > Baekjoon' 카테고리의 다른 글
[BOJ][Python] 1159 농구경기 (0) | 2024.07.17 |
---|---|
[BOJ][Python] 1182 부분수열의 합 (0) | 2024.07.15 |
[BOJ][Python] 1158 요세푸스 문제 (0) | 2024.04.17 |
[BOJ][Python] 2164 카드 2 (0) | 2024.04.17 |
[BOJ][Python] 17478 재귀함수가 뭔가요? (0) | 2024.04.17 |