데굴데굴

[파이썬] 10820번: 문자열 분석 본문

algorithm/백준

[파이썬] 10820번: 문자열 분석

aemaaeng 2022. 7. 19. 23:18

10820번: 문자열 분석 (acmicpc.net)

 

10820번: 문자열 분석

문자열 N개가 주어진다. 이때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오. 각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있

www.acmicpc.net

n개의 문장이 주어지면 그 문장에서 소문자, 대문자, 숫자, 공백의 개수를 카운트하여 한 줄에 출력하는 문제이다.

파이썬 자체에 내장된 is~~()를 활용하여 각 조건을 판별하면 된다.

 

백준 문제는 보통 입력의 개수도 따로 n으로 알려주는데 이 문제는 그렇지 않아서 어떻게 풀어야할지 몰라 당황스러웠다.

종료조건이 안 주어지니 내가 아는 지식으로만 풀면 분명 무한루프를 돌 것 같았다.

질문란에서 EOF를 알게 되어 검색해보니 try except 구문으로 EOFError을 예외처리하는 방법이 있었다. 

 

while True:
    try:
        string = input()
        answer = [0] * 4
        for s in string:
            if s.islower():
                answer[0] += 1
            elif s.isupper():
                answer[1] += 1
            elif s.isdigit():
                answer[2] += 1
            elif s == ' ':
                answer[3] += 1
        print(*answer)
    except EOFError:
        break

 

 

백준 처음 풀 땐 브론즈 3까지만 가도 낑낑대면서 풀었는데 이제 브론즈는 조금 괜찮게 느껴진다. (아닐 수도...)

지금처럼 꾸준히 하루에 한 문제씩이라도 풀면 언젠간 실버도 골드도 잘 풀겠지...? 공부 열심히 해야겠다. 

'algorithm > 백준' 카테고리의 다른 글

[파이썬] 4153번: 직각삼각형  (0) 2022.07.26
[파이썬] 11655번: ROT13  (0) 2022.07.22
[파이썬] 11399번: ATM  (0) 2022.07.18
[파이썬] 11047번: 동전 0  (0) 2022.07.17
[파이썬] 1874번: 스택 수열  (0) 2022.07.14
Comments