https://www.acmicpc.net/problem/10820
[문제]
문자열 N개가 주어진다. 이때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오.
각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있다.
첫째 줄부터 N번째 줄까지 문자열이 주어진다. (1 ≤ N ≤ 100) 문자열의 길이는 100을 넘지 않는다.
[문제 접근]
문자열의 알파벳 소문자 → islower()
문자열의 알파벳 대문자 → isupper()
숫자 → isdigit()
제한 없는 입력받기이므로 무한 while문을 돌면서 try except문을 사용해준다.
[정답]
1. while문을 무한 반복하되 EOFError가 나게 되면 while문을 break한다.
EOFError : 파일의 끝 읽을 내용이 없을 경우 에러 발생
2. 알파벳 소문자, 대문자, 숫자, 공백을 저장할 lower, upper, num, space를 선언한다.
3. 변수 text에 문자열을 입력받는다.
4. for문을 돌면서 if문을 활용하여 만약 text의 islower()가 True라면 lower+=1, text의 isupper()가 True라면 upper+=1, text의 isdigit()가 True라면 num+=1, 이에 다 해당되지 않으면 공백이므로 space+=1 해준다.
5. 최종적으로 lower, upper, num, space를 출력한다.
'알고리즘 공부 > 백준 > Python3' 카테고리의 다른 글
[백준 파이썬] #10808: 알파벳 개수 (0) | 2021.02.20 |
---|---|
[백준 파이썬] #2576: 홀수 (0) | 2021.02.20 |
[백준 파이썬] #3003: 킹, 퀸, 룩, 비숍, 나이트, 폰 (0) | 2021.02.19 |
[백준 파이썬] #11656: 접미사 배열 (0) | 2021.02.19 |
[백준 파이썬] #2953: 나는 요리사다 (0) | 2021.02.16 |