[백준] #11091 알파벳 전부 쓰기

kkily·2022년 3월 19일
0

[알고리즘]

목록 보기
79/102

문제

푸는데 꽤나 오래 걸렸다.
getline(cin,s), cin.ignore()나 cin.clear()와 관련한 사전지식이 없기도 했다..(문제 풀이 부족 ㅠ)
또, 줄바꿈을 안해줘서 몇번 틀렸다. 꼼꼼히 봐야한다!

이 문제도 되게 비효율적으로 푼 것 같은데 다른 분들 코드를 한번 확인해봐야할 것 같다.

#include<iostream>
using namespace std;

int main(){
    char alphabet[26]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
    int check[26]={0};
    int pan;
    string s;
    string temp="";
    int n;
    cin>>n;
    cin.ignore();
    
    for(int i=0;i<n;i++){
        cin.clear();
        s="";
        temp="";
        pan=0;
        for(int i=0;i<26;i++){
            check[i]=0;
        }
       
        getline(cin,s);
        for (int i = 0; i < s.size(); i++) {
            if ((s[i] >= 'a' && s[i] <= 'z') || (s[i] >= 'A' && s[i] <= 'Z')) {
                temp = temp + s[i];
            }
        }
        s = temp;
        
        for(int k=0;k<s.length();k++){
            if('A'<=s[k] && s[k]<='Z'){
                s[k]+=32;
            }
           
        }
        
         
       for(int k=0;k<s.length();k++){
            for(int j=0;j<26;j++){
                

                if(s[k]==alphabet[j]){
                    
                    check[j]++;
                }
            }
        }
        
        for(int j=0;j<26;j++){
            if(check[j]==0){
                cout<<"missing ";

                break;
            }
        }
        for(int j=0;j<26;j++){
            if(check[j]==0){
                cout<<alphabet[j];
                pan=1;
            }
            if(j==25&&pan==1){
                cout<<"\n";
            }
        }
        if(pan!=1){
            cout<<"pangram"<<"\n";
        }

    }

}
profile
낄리의 개발 블로그╰(*°▽°*)╯

0개의 댓글

관련 채용 정보