Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- CSS
- 해시테이블
- redux
- useState
- 운영체제
- Next.js
- UI
- 프로토타입
- 큐
- React
- 생활코딩
- javascript
- level1
- 자료구조
- html
- superstarjypnation
- REST_API
- vercel
- UX
- 자바스크립트
- 백준
- 회고
- 30daysdowoonchallenge
- 스택
- 코드스테이츠
- Til
- web
- mysemester
- 프로그래머스
- 카카오
Archives
- Today
- Total
데굴데굴
[파이썬] 10820번: 문자열 분석 본문
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