ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 문자열을 정수로, 정수를 문자열로 변환하기_220716
    데일리 codeup/문자열 2022. 7. 16. 15:42

    문자열을 정수로 변환하기

    string 헤더의 stoi 함수로 문자열을 감싸주면 문자열을 정수로(string to int) 변환할 수 있다.


    붙여서 합하기

    숫자로만 이루어진 문자열 A와 B가 주어집니다. A와 B를 그대로 이어붙인 AB와 순서를 바꿔 이어붙인 BA의 합을 구하는 프로그램을 작성해보세요.

    #include <iostream>
    #include <string>
    using namespace std;
    int main(){
        string a,b;
        cin >> a >> b;
        cout<< stoi(a+b) + stoi(b+a);
        return 0;
    }

    정수만 추출하기

    공백을 포함하지 않는 두 개의 문자열이 주어지면 앞에서부터 정수 이외의 문자가 나오기 전까지의 부분에서 정수로 변환 가능한 부분을 변환한 후 두 수의 합을 출력하는 프로그램을 작성해보세요.

    #include <iostream>
    #include <string>
    #include <cctype>
    using namespace std;
    int main(){
        string s,t;
        cin >> s >> t;
        for(int i=0;i<s.length();i++){
            if(isdigit(s[i]) == 0){
                s = s.substr(0,i);
                break;
            }
        }
        for(int i=0;i<t.length();i++){
            if(isdigit(t[i]) == 0){
                t = t.substr(0,i);
                break;
            }
        }
        cout<< stoi(s)+ stoi(t);
        return 0;
    }

    알파벳 지우기

    알파벳과 숫자로 이루어진 문자열이 두 개 주어지면, 각 문자열에서 알파벳을 제외하고 남은 숫자부분을 차례대로 이어붙여 만든 수를 구하고, 두 문자열에서 구한 두 수의 합을 구하는 프로그램을 작성해보세요.

    #include <iostream>
    #include <string>
    #include <cctype>
    using namespace std;
    int main(){
        string s,t;
        string a,b;
        cin >> s >> t;
        for(int i=0;i<s.length();i++){
            if(isdigit(s[i]) == 0)  continue;
            a += s[i];
        }
        for(int i=0;i<t.length();i++){
            if(isdigit(t[i]) == 0)  continue;
            b += t[i];
        }
        cout<< stoi(a)+stoi(b);
        return 0;
    }

    정수를 문자열로 변환하기

    string헤더의 to_string 함수

    #include <iostream>
    #include <string>
    using namespace std;
    
    int main() {
    
        int a = 123;
        string a_str;
    
        a_str = to_string(a);
    
        cout << a_str;
    
        return 0;
    
    }

    두 수의 합과 1

    두 정수가 주어지면 그 두 수의 합을 더한 뒤의 결과에 숫자 1이 몇 번 나오는지 출력하는 프로그램을 작성해보세요.

    #include <iostream>
    #include <string>
    using namespace std;
    int main(){
        string sum_val;
        int s,t,cnt = 0;
        cin >> s >> t;
        sum_val = to_string(s+t);
        for(int i=0;i<sum_val.length();i++){
            if(sum_val[i]=='1') cnt++;
        }
        cout<< cnt;
        return 0;
    }

    각 자리 숫자들의 합

    정수 n이 주어지면 각 자리 숫자들의 합을 구해 출력하는 프로그램을 작성해보세요.

    #include <iostream>
    #include <string>
    using namespace std;
    int main(){
        int n, sum_val = 0;
        cin >> n;
        string s = to_string(n);
        for(int i=0;i<s.length();i++){
            sum_val += n%10;
            n /= 10;
        }
        cout<<sum_val;
        return 0;
    }

    합을 옆으로 밀어 출력

    n개의 수가 주어질 때, 모든 수를 더한 값을 좌측으로 한 칸 민 결과를 출력하는 프로그램을 작성해보세요.

    #include <iostream>
    #include <string>
    using namespace std;
    int main(){
        int n,m,sum_val = 0;
        cin >> n;
        for(int i=0;i<n;i++){
            cin >> m;
            sum_val += m;
        }
        string s = to_string(sum_val);
        cout<<s.substr(1,s.length()-1) + s[0];
        return 0;
    }

    댓글

Designed by Tistory.