ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 문자열 밀기_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;
    }

    댓글

Designed by Tistory.