BOJ/Python

[BOJ/백준] 33571 - 구멍 (Python)

tjdms4327 2025. 5. 2. 13:05

문제

문제링크

문자열 S는 알파벳(대문자+소문자)와 @로 이루어져있다.

S에서 구멍의 개수를 구하라.

 

풀이

문자 중 "AabDdegOoPpQqR@"에는 구멍이 1개, 'B'에는 2개, 나머지는 없다.

따라서 구멍의 개수는  'AabDdegOoPpQqR@' 개수와 'B'개수*2를 더하면 된다.

Counter는 문자열에 있는 모든 문자의 틍장횟수를 딕셔너리 형태로 반환하므로 sum()으로 이 횟수를 합해준다.

'B'에는 구멍이 2개 이므로 2를 곱해주어야 한다.

 

코드

from collections import Counter

one_hole="AabDdegOoPpQqR@"
counter_one = Counter(one_hole)
two_holes='B'

S=input()
holes=sum(counter_one[i] for i in S)+(S.count(two_holes))*2
print(holes)