본문 바로가기
  • Let's study
PS/Baekjoon

[백준] 11319: Count Me In(C++)

by 코딩고수이고파 2025. 6. 24.

문제

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";
    }
}

댓글