백준 10820 파이썬 (문자열 분석)

철웅·2022년 11월 21일
0

BOJ

목록 보기
15/46

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

이 문제의 특징은 입력값의 개수를 받지 않는다는 것이다.
때문에 두가지 방법으로 이를 처리할 수 있다.
1. input()으로 입력 받았을 경우
2. readline()으로 입력 받았을 경우

# 1번 케이스
while True:
  try:
      line = input()
  except EOFError:
      break# 2번 케이스
while True:
	line = sys.stdin.readline().rstrip()
    if not line:
    	break
  • EOFError : (End Of File) 더 이상 입력값이 없는 상황을 나타낸다.
  • if not line : rstrip()을 꼭 적어주고 아무것도 입력 되지 않았을 때 반복문을 탈출 할 수 있게 해준다.

💻 Code

while True:
    try:
        sentense = input()
        result = [0] * 4
        for a in sentense:
            if('a' <= a <= 'z'):
                result[0] += 1
            elif('A' <= a <= 'Z'):
                result[1] += 1
            elif(a.isdigit() == True):
                result[2] += 1
            elif(a == " "):
                result[3] += 1 
        print(*result)
    except EOFError:
        break
        
  • 'a' <= alphabet <= 'z' 이런방법도 있긴 하지만 쓸만한 함수 세트가 있다.

    위 문제같은 경우 isupper(), islower(), isdigit(), isspace()를 사용하면 된다.

0개의 댓글