https://www.acmicpc.net/problem/10820
알파벳관련하여 값을 출력하는 문제이다
대소문자 관련한 메소드를 정리해보면
1. 대소문자 상호 변환 swapcase()
원본을 바꾸지 않는다
2. 대문자 변환 upper(), 대문자인지 확인 isupper()
3. 소문자 변환 lower(), 소문자인지 확인 islower()
를 활용해서 문제를 풀면 될거 같다.
추가로 isspace() 공백확인 , isdigit() 숫자확인 이다.
그리고 문제에서 여러줄을 입력받기 때문에 while 문을 돌리던가 stdin.read().splitlines() 을 활용한다.
sys.stdin.read().splitlines()
파일의 끝까지 한번에 읽어오고 개행문자를 제외하여 리스트로 읽는다.
['Hello', 'Baekjoon', 'Online Judge']
답안)
import sys
input_lines = sys.stdin.read().splitlines()
for line in input_lines:
number = 0
upper = 0
lower = 0
blank = 0
for char in line:
if char.islower():
lower += 1
elif char.isupper():
upper += 1 # Corrected from lower to upper
elif char.isdigit():
number += 1
elif char.isspace():
blank += 1 # Added the missing colon
print(lower, upper, number, blank)
'코딩테스트' 카테고리의 다른 글
하루 코테 1개 풀기 - 향해 4일차 (0) | 2025.04.08 |
---|---|
하루 코테 1개 풀기 - 향해 3일차 (0) | 2025.04.02 |
하루 코테 1개 풀기 - 향해 1일차 (0) | 2025.04.01 |
하루 코테 1개 풀기 - 2일차 (0) | 2025.03.12 |
하루 코테 1개 풀기 - 1일차 (0) | 2025.02.25 |