-
문자열을 정수로, 정수를 문자열로 변환하기_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; }
'데일리 codeup > 문자열' 카테고리의 다른 글
문자열 비교_220716 (0) 2022.07.16 아스키(ASCII)코드, 대소문자 변환_220716 (0) 2022.07.16 문자열 밀기_220716 (0) 2022.07.16 문자 수정, 문자 삭제_220716 (0) 2022.07.16 문자열 concat, 문자열 찾기_220714 (0) 2022.07.14