문제
https://www.acmicpc.net/problem/11319
풀이
공백을 포함하여 입력 받아야 하기 때문에 getline을 사용해주되, 그전에 cin.ignore()를 한번 꼭 실행해줘야 한다!
cin.ignore()가 없으면 이전에 n을 입력 받은 후 버퍼에 정수 값을 입력한 뒤 누른 엔터(‘\n’)가 그대로 getline()에 들어가기 때문에 바로 다음 코드로 넘어가게 된다.
코드
#include<iostream>
#include<string>
using namespace std;
int main(){
int n;
string str;
cin>>n;
cin.ignore();
for(int i=0;i<n;i++){
int cons=0, vowel=0;
getline(cin, str);
for(int j=0;j<str.size();j++){
switch(str[j]){
case 'A':
case 'E':
case 'I':
case 'O':
case 'U':
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
vowel++;
break;
case ' ':
break;
default:
cons++;
break;
}
}
cout<<cons<<' '<<vowel<<"\n";
}
}'PS > Baekjoon' 카테고리의 다른 글
| [백준] 30045: ZOAC 6(C++) (0) | 2025.08.23 |
|---|---|
| [백준] 30676: 이 별은 무슨 색일까(C++) (1) | 2025.08.09 |
| [백준] 10874: 이교수님의 시험(C++) (0) | 2025.05.14 |
| [백준] 32025: 체육은 수학과목 입니다(C++) (0) | 2025.05.08 |
| [백준] 16395: 파스칼의 삼각형(C++) (0) | 2025.04.29 |
댓글