https://www.acmicpc.net/problem/1264
1264번: 모음의 개수
입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 영어 대소문자, ',', '.', '!', '?', 공백으로 이루어진 문장이 주어진다. 각 줄은 최대 255글자로 이루어져 있다. 입력의 끝에는 한 줄
www.acmicpc.net
코드
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
int main() {
string a;
int count = 0;
while(true) {
getline(cin, a);
if (a != "#") {
for (int i = 0; i < a.length(); i++) {
if (tolower(a[i]) == 'a' || tolower(a[i]) == 'e' || tolower(a[i]) == 'i' || tolower(a[i]) == 'o' || tolower(a[i]) == 'u') {
count++;
}
}
cout << count <<endl;
count = 0;
}
else {
break;
}
}
return 0;
}
풀이
포인트 1
한줄 입력 받는 방법 (아래 게시글 참고)
https://hihajin.tistory.com/64
[C++] 한 줄 입력 받기, 공백 포함 입력 받기 | getline()
c++에서 cin을 하게 되면 ' '이나 \n를 입력하면 문자열 입력이 끝나버린다. 공백을 포함한 문자열을 입력하고 싶을 땐 getline을 사용하면 된다! #include #include using namespace std; int main() { string a; getline(
hihajin.tistory.com
+ 추가로 string은 index 접근이 가능하다는 점
포인트 2
while문으로 "#"으로 종료될 때까지 반복해주기
if문을 사용하여 입력받은 문자가 #가 아닐때는 실행 #일때는 break로 종료
포인트 3
tolower()나 toupper()을 이용해서 대문자, 소문자 중 하나로 변경하여 모음의 개수를 세주어야한다.
- tolower() : 문자 소문자로 변경하기
- toupper() : 문자 대문자로 변경하기
포인트 4
count 초기화 해주기
(은근 까먹는 실수를 많이 하지만 가장 중요한 것!)
'🖥️ 오늘의 백준' 카테고리의 다른 글
백준 2693번 : N번째 큰 수 [Python] (2) | 2024.03.06 |
---|---|
백준 2501번 : 약수 구하기 [Python] (0) | 2024.03.05 |
백준 9934번 : 완전 이진 트리 [Python] (0) | 2023.05.27 |
백준 1991번 : 트리 순회 [Python] (0) | 2023.05.23 |
백준 2960번 : 에라토스테네스의 체 [Java] (0) | 2023.05.20 |