-
문자열 리스트 관리_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; }
'데일리 codeup > 문자열' 카테고리의 다른 글
문자열 밀기_220716 (0) 2022.07.16 문자 수정, 문자 삭제_220716 (0) 2022.07.16 문자열 concat, 문자열 찾기_220714 (0) 2022.07.14 문자열 순회하기_220714 (0) 2022.07.14 공백없는 문자열, 공백 있는 문자열_220713 (0) 2022.07.13