fragment-header
fragment-markdown
홈
로그인
로그아웃
내 블로그
설정
로그인
백준 33571 (C++) 구멍
최초 업로드: 2025-03-25 08:18:09
최근 수정 시간: 2025-07-25 10:10:12
게시자: rlatjwls3333
카테고리: 백준
조회수: 14
# [Bronze IV] 구멍 [문제 링크](https://www.acmicpc.net/problem/33571) ## 문제 설명 <p>후배들을 위한 디미고의 홍보 책자를 읽던 진우는 골뱅이 모양의 디미고 로고를 발견하였다. 가운데에 구멍이 $1$개 뚫려 있는 로고를 본 진우는 문득 생각에 잠겼다. '과연 이 책자 속 글자들에 뚫린 모든 구멍의 개수는 얼마나 될까?' 진우는 호기심을 참지 못하고 문장 속 글자에 포함된 구멍을 세어보기로 결심했다.</p> <p>홍보 책자는 알파벳과 띄어쓰기, 디미고 로고로 쓰여 있으며 다음과 같은 폰트로 작성되어 있다. 색칠된 부분은 구멍을 의미한다. 예를 들어, <span style="color:#e74c3c;"><code>B</code></span>에는 구멍이 $2$개 존재한다.</p> <p style="text-align: center;"><img alt="" src="https://upload.acmicpc.net/7fa219dd-4732-405f-a368-cdab0b53cd2e/-/preview/" style="height: 173px; width: 800px; max-width:100%"></p> <p>디미고 홍보 책자 속 구멍의 개수를 구하는 프로그램을 작성하시오.</p> ## 입력 <p>첫 번째 줄에 디미고 홍보 책자의 글을 나타내는 문자열 $S$가 주어진다. $S$는 공백으로 시작하거나 끝나지 않으며, 디미고 로고는 <span style="color:#e74c3c;"><code>@</code></span>로 주어진다. $(1leq |S|leq 1,000)$</p> ## 출력 <p>$S$에 있는 글자 속 구멍 개수를 출력한다.</p> ## 풀이 #### 사진대로 A a b D d e g O o P p Q q R @는 구멍이 1개, B는 구멍이 2개 있습니다. #### 문자열로 입력받고 반복문으로 돌면서 각각의 문자마다의 구멍의 개수를 더해주면 됩니다. ``` c++ #include<bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); string s; getline(cin, s); int cnt=0; for(char ch:s) { if(ch=='A' || ch=='a' || ch=='b' || ch=='D' || ch=='d' || ch=='e' || ch=='g' || ch=='O' || ch=='o' || ch=='P' || ch=='p' || ch=='Q' || ch=='q' || ch=='R' || ch=='@') cnt++; else if(ch=='B') cnt+=2; } cout << cnt; } ```