-
문자열 밀기_220716데일리 codeup/문자열 2022. 7. 16. 15:13
문자열 밀기
문자열이 하나 주어지면, 왼쪽으로 한 칸 shift 한 이후의 결과를 저장한 뒤 출력하는 프로그램을 작성해보세요.
#include <iostream> #include <string> using namespace std; int main(){ string s,t; cin >> s; t = s.substr(1,s.length()-1)+ s[0]; cout<<t; return 0; }
문자열 돌리기
알파벳으로 이루어진 문자열이 주어지면, 문자열의 길이를 L이라고 했을 때 오른쪽으로 한 글자씩 밀어서 출력하는 것을 L회 반복하는 프로그램을 작성해보세요.
예) ABCD가 주어지는 경우
ABCD DABC CDAB BCDA ABCD
#include <iostream> #include <string> using namespace std; int main(){ string s; cin >> s; cout << s << endl; for(int i=0;i<s.length();i++){ s = s[s.length()-1] + s.substr(0,s.length()-1); cout<< s << endl; } return 0; }
문자열 한 칸씩 밀어내며 뒤집기
문자열 한 개 입력으로 주어지고 q개의 요청이 주어지면, 각 요청을 수행한 결과를 모두 출력하는 코드를 작성해보세요. 요청의 종류에는 아래의 세 가지가 있습니다.
1.가장 앞에 있는 문자를 제외한 나머지 문자를 한 칸씩 앞으로 당기고 가장 앞에 있던 문자를 가장 뒤로 옮깁니다.
2.가장 뒤에 있는 문자를 제외한 나머지 문자를 한 칸씩 뒤로 밀고 가장 뒤에 있던 문자를 가장 앞으로 옮깁니다.
3.문자열을 좌우로 뒤집습니다.
#include <iostream> #include <string> #include <algorithm> using namespace std; int main(){ string s; int q,req; cin >> s >> q; for(int i=0;i<q;i++){ cin>>req; if(req == 1) s = s.substr(1,s.length()-1) + s[0];//요청1 else if(req == 2)s = s[s.length()-1] + s.substr(0,s.length()-1); //요청2 else reverse(s.begin(), s.end());// 요청3 cout<< s << endl; } return 0; }
규칙에 따라 밀기
문자열 A가 주어졌을 때, 명령에 따라 문자열 A를 민 결과를 출력하는 프로그램을 작성해보세요.
명령은 L 또는 R 로 이루어진 명령 문자열로 주어지고, 명령에 따라 순서대로 다음을 반복합니다.
- L일 때는 좌측으로 한 칸 밀고, R일 때는 우측으로 한 칸 미는 것을 진행합니다.
#include <iostream> #include <string> using namespace std; int main(){ string s, req; cin >> s >> req; for(int i=0;i<req.length();i++){ if(req[i] == 'L') s = s.substr(1,s.length()-1) + s[0]; else s = s[s.length()-1] + s.substr(0,s.length()-1); } cout << s; return 0; }
'데일리 codeup > 문자열' 카테고리의 다른 글
문자열을 정수로, 정수를 문자열로 변환하기_220716 (0) 2022.07.16 아스키(ASCII)코드, 대소문자 변환_220716 (0) 2022.07.16 문자 수정, 문자 삭제_220716 (0) 2022.07.16 문자열 concat, 문자열 찾기_220714 (0) 2022.07.14 문자열 순회하기_220714 (0) 2022.07.14