10820번 : 문자열 분석 - Python

Pobi·2023년 1월 24일
0

PS

목록 보기
28/107

문제

https://www.acmicpc.net/problem/10820

풀이

계속 입력 받는게 문제이다. input을 사용한다면 EOFError를 이용하여서 풀면 되고, sys.stdin.readline을 이용한다면 비어있는지 확인함으로써 풀 수 있다. 나머지 소문자, 문자, 숫자, 공백을 구분하는 것은 python의 함수인 islower, isupper, isdigit, issapce로 판단할 수 있다.

코드

from sys import stdin

input = stdin.readline


while True:
    low = 0
    upp = 0
    num = 0
    voi = 0
    line = input().rstrip('\n') #문자열 뒤의 \n만 지우기 위함이다.

    if not line: # readline은 아무것도 입력되지 않았을때 EOFError가 아닌 빈 문자열을 반환한다.
        break

    for i in line:
        if i.islower():
            low+=1
        elif i.isupper():
            upp +=1
        elif i.isdigit():
            num +=1
        elif i.isspace():
            voi +=1
    print(low,upp,num,voi)

참고

https://y00n-lee.tistory.com/9
https://joewithtech.tistory.com/26

profile
꿈 많은 개발자

0개의 댓글