[백준/파이썬] 10820번

민정·2023년 1월 4일
0

[백준/파이썬]

목록 보기
8/245
post-thumbnail

백준 10820번

문제

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

나의 풀이

대문자, 소문자, 숫자, 공백은 isupper(), is lower(), isdigit(), isspace()으로 구분했다.
근데, 입력을 어떻게 받아야 하는지를 몰라 찾아보니 read.std.readline()을 이용해야 한다고 했다.

코드

import sys 

while True : 
    line = sys.stdin.readline().rstrip('\n')

    if not line:
        break

    arr = [0,0,0,0]

    for i in line:
        if i.islower():
            arr[0] += 1
        elif i.isupper():
            arr[1] += 1
        elif i.isdigit():
            arr[2] += 1
        elif i.isspace():
            arr[3] += 1
    print(arr[0], arr[1], arr[2] , arr[3])

알게된 점

sys.stdin.readline() : 반복문으로 여러 줄을 입력받을 때 유용합니다. input()과는 다르게 시간초과 발생하지 않습니다. 또한 입력 받을시 \n도 같이 포함되므로 rsrtip()을 이용해 '\n'을 지웁니다.

profile
パㅔバ6ㅇr 덤벼ㄹΓ :-0

0개의 댓글