[Python/백준] #10820- [문자열 분석]

2021. 12. 1. 16:44·코딩테스트/백준[Python]

[문자열 분석]-10820번

 

10820번: 문자열 분석

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

www.acmicpc.net

My answer

import sys
result=[0]*4

while(1):
    try:
        tmp=sys.stdin.readline().rstrip('/n')
        if(tmp=""):
            break
        for i in tmp:
            if('a'<=i<='z'):
                result[0]+=1
            elif('A'<=i<='Z'):
                result[1]+=1
            elif(i.isdigit()==1):
                result[2]+=1
            elif(i==" "):
                result[3]+=1
        print(result[0],result[1],result[2],result[3])
        result=[0]*4
    except EOFError:
        break

 

Another answer

while 1:
 try:x=input();a=b=c=d=0
 except:break
 for i in x:
  if ord(i)<33:d+=1
  elif 96<ord(i)<123:a+=1
  elif 64<ord(i)<91:b+=1
  else:c+=1
 print(a,b,c,d)
더보기

요즘 이런경우가 은근 많은 것 같다. 문제 자체는 금방 풀었는데 문제에 해당하는 기본조건을 못맞춰서 틀리는 문제.. 이 문제는 출력초과가 떠서 못풀었다. 이문제는 n을 주어주지 않고 n번쨰 줄까지 문자열을 입력후 문제를 풀고 종료하는 문제라서 이렇게 정확히 몇번하는지 횟수를 정해주지 않은 문제들은 eof를 통해서 문제를 풀어야 된다고 한다. eof 맨날 베껴서 써서 이제 외워야겠다. try, except를 이용해서 처리했는데, 나중에 알고리즘에서 한번 더 다루도록 하겠다. 또 이번에는 eof도 처리했는데 안돌아가서 구글링해보니, 우선 rstrip()을 할때 공백제거가 아닌 개행문자 '\n'을 없애도록 처리해줬고, 아무것도 입력되지 않았을 때 바로 종료하도록 처리해주니까 돌아갔다. 아무것도 입력되지 않을 때는 입력이 끝났다는걸로 인식해야해서 바로 종료해야 하나보다. 내 코드말고 아래 코드는 아스키 코드를 이용해서 소문자,대문자,숫자등을 구분했다. ord()함수를 이용하면 아스키코드로 바꿔주므로 소문자,대문자,숫자에 해당하는 아스키코드로 범위를 만들어서 해결한 것 같다.

 

728x90

'코딩테스트 > 백준[Python]' 카테고리의 다른 글

[Python/백준] #11656- [접미사 배열]  (0) 2021.12.02
[Python/백준] #11655- [ROT13]  (0) 2021.12.01
[Python/백준] #10809- [알파벳 찾기]  (0) 2021.12.01
[Python/백준] #10808 - [알파벳 개수]  (0) 2021.12.01
[Python/백준] #10866- [덱]  (0) 2021.12.01
'코딩테스트/백준[Python]' 카테고리의 다른 글
  • [Python/백준] #11656- [접미사 배열]
  • [Python/백준] #11655- [ROT13]
  • [Python/백준] #10809- [알파벳 찾기]
  • [Python/백준] #10808 - [알파벳 개수]
창빵맨
창빵맨
  • 창빵맨
    Let's be Developers
    창빵맨
    로그인/로그아웃
  • 전체
    오늘
    어제
    • 분류 전체보기 (471)
      • 알쓸신잡 (79)
      • ML & DL (85)
        • Computer v.. (22)
        • NLP (22)
        • 파이썬 머신러닝 완.. (3)
        • 개념정리 (38)
      • 리눅스 (21)
      • 프로젝트 (29)
        • 산불 발생 예측 (6)
        • 음성비서 (12)
        • pdf 병합 프로그.. (0)
        • 수위 예측 (5)
        • 가짜 뉴스 분류 (5)
        • 전력사용량 예측 (1)
      • 코딩테스트 (217)
        • 프로그래머스[Pyt.. (17)
        • 프로그래머스[Fai.. (3)
        • 백준[Python] (160)
        • 이것이취업을위한코딩.. (18)
        • 파이썬 알고리즘 (19)
      • 데이터분석실습 (25)
        • 데이터 과학 기반의.. (18)
        • 헬로 데이터 과학 (7)
      • 메모장 (0)
      • 잡담 (4)
  • Personal

    GITHUB
    Instagram
  • 공지사항

  • 인기 글

  • 태그

    이것이취업을위한코딩테스트다
    dp
    그리디
    이분탐색
    BFS
    DFS
    나동빈
    백준
    파이썬
    이코테
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3

HOME

HOME

상단으로

티스토리툴바