ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 문자열 리스트 관리_220713
    데일리 codeup/문자열 2022. 7. 13. 22:45

    문자열 리스트 관리

    문자열들의 목록을 관리하기 위해서는, 각 문자열들을 원소로 갖는 리스트를 정의하면 된다. 하나의 문자열의 쓰임은 마치 1차원 배열과 같고, 문자열 리스트의 경우에는 마치 2차원 배열과 같이 동작한다.

    string arr[3] = { "banana", "apple", "pizza" };
    cout << arr[0][0]; //banana 의 b
    cout<<arr[2][4]; //pizza의 a

    문자열의 특정 위치 찾기 2

    5개의 문자열을 "apple", "banana", "grape", "blueberry", "orange"로 초기화 한 후, 영문자 하나가 주어졌을때 5개의 문자열들 중 세 번째나 네 번째 문자와 일치하는 문자열들을 모두 찾아내고 이러한 문자열의 개수를 출력하는 프로그램을 작성해보세요.

    #include <iostream>
    #include <string>
    using namespace std;
    int main(){
        int cnt = 0;
        char a;
        string str[5] = {"apple", "banana", "grape", "blueberry", "orange"};
        cin >> a;
        for(int i=0;i<5;i++){
            if(str[i][2]==a||str[i][3]==a){
                cout<<str[i]<<endl;
                cnt++;
            }
        }
        cout<<cnt;
        return 0;
    }

    문자열 역순으로 출력하기

    알파벳으로 이루어진 4개의 문자열이 주어지면 입력받은 역순으로 출력하는 프로그램을 작성해보세요.

    #include <iostream>
    #include <string>
    using namespace std;
    int main(){
        string str[4];
        for(int i=0;i<4;i++)    cin>>str[i];
        for(int j=3;j>=0;j--)   cout<<str[j]<<endl;
        return 0;
    }

    문자열의 총 길이 구하기

    알파벳으로 이루어져 있고 공백을 포함한 10개의 문자열이 주어지면 모든 문자열의 총 길이의 합을 구하여 출력하는 프로그램을 작성해보세요.

    #include <iostream>
    #include <string>
    using namespace std;
    int main(){
        string arr[10];
        int cnt = 0;
        for(int i=0;i<10;i++){
            cin>>arr[i];
            cnt += arr[i].length();
        }
        cout<<cnt;
        return 0;
    }

    문자열 길이의 합

    첫 번째 줄에 숫자 n이 주어지고, 그 다음 n개의 줄에 걸쳐 n개의 문자열이 주어질 때, 모든 문자열 길이의 합과 주어진 문자열 중 첫 번째 문자로 'a'가 몇 번 나왔는지를 출력하는 프로그램을 작성해보세요.

    #include <iostream>
    #include <string>
    using namespace std;
    int main(){
        int n, sum = 0, cnt = 0;
        cin >> n;
        string arr[n];
        for(int i=0;i<n;i++){
            cin >> arr[i];
        }
        for(int i=0;i<n;i++){
            sum += arr[i].length();
            if(arr[i][0] == 'a')    cnt ++;
        }
        cout << sum << ' ' << cnt;
        return 0;
    }

    단어로 구분하기

    알파벳으로 이루어져 있고 공백을 포함한 10개의 문자열이 주어지면 공백으로 구분하여 단어로 나누어 출력하는 프로그램을 작성해보세요.

    #include <iostream>
    #include <string>
    using namespace std;
    int main(){
        string arr[10];
        for(int i=0;i<10;i++)   cin>>arr[i];
        for(int j=0;j<10;j++)   cout<<arr[j]<<endl;
        return 0;
    }

    단어로 구분하기 2

    알파벳으로 이루어져 있고 공백을 포함한 10개의 문자열이 주어지면 공백으로 구분하여 홀수 번째 문자열만 출력하는 프로그램을 작성해보세요.

    #include <iostream>
    #include <string>
    using namespace std;
    int main(){
        string arr[10];
        for(int i=0;i<10;i++)   cin>>arr[i];
        for(int j=0;j<10;j+=2)  cout<<arr[j]<<endl;
        return 0;
    }

    단어로 구분하기 3

    알파벳으로 이루어져 있고 공백을 포함한 10개의 문자열이 주어지면 공백으로 구분하여 입력 순서의 반대 순서로 출력하는 프로그램을 작성해보세요.

    #include <iostream>
    #include <string>
    using namespace std;
    int main(){
        string arr[10];
        for(int i=0;i<10;i++)   cin>>arr[i];
        for(int j=9;j>=0;j--)  cout<<arr[j]<<endl;
        return 0;
    }

    특정 문자로 끝나는 문자열

    알파벳으로 이루어진 10개의 문자열과 문자가 하나 주어지면 그 문자로 끝나는 문자열들을 입력에서 주어진 순서대로 출력하는 프로그램을 작성해보세요.

    #include <iostream>
    #include <string>
    using namespace std;
    int main(){
        string arr[10];
        char a;
        int cnt = 0;
        for(int i=0;i<10;i++)   cin>>arr[i];
        cin>>a;
    
        for(int j=0;j<10;j++){
            if(a==arr[j][arr[j].length()-1]){
                cout<<arr[j]<<endl;
                cnt ++;
            }
        }
        if(cnt==0)  cout<<"None";
        return 0;
    }

    특정 문자로 시작하는 문자열

    알파벳 소문자로 이루어진 n개의 문자열이 주어지고, 알파벳 한 개가 주어졌을 때, 해당 알파벳으로 시작하는 문자열의 개수와 그 문자열들의 길이의 평균을 구하는 프로그램을 작성해보세요.

    입력

    4
    code
    codetree
    coding
    leebros
    c

    출력

    3 6.00
    #include <iostream>
    #include <string>
    using namespace std;
    int main(){
        int n,sum = 0,cnt = 0;
        char a;
        cin >> n;
        string arr[n];
    
        for(int i=0;i<n;i++)    cin >> arr[i];
    
        cin >> a;
    
        for(int i=0;i<n;i++){
            if(arr[i][0] == a){
                sum += arr[i].length();
                cnt++;
            }
        }
        cout<<fixed;
        cout.precision(2);
        cout<<cnt<<' '<<(double)sum/cnt;
        return 0;
    }

    댓글

Designed by Tistory.