문제 링크 https://www.acmicpc.net/problem/11720
문제 설명
N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.
#include <iostream>
#include <string>
using namespace std;
int main()
{
int N, total;
string num;
cin >> N >> num;
total = 0;
for (int i=0; i<N; i++) {
total += num[i] - '0';
}
cout << total;
}
to_string()
- 말 그대로
string 형
으로 변환- 인수로는 int, long, double 등등 사용 사능
#include <string>
필요!
stoi()
- 숫자만 있는 문자열에 사용할 경우 숫자로 변경됨
- 문자와 숫자가 섞여 있을때는, 문자가 나올때까지의 숫자만 변환
string temp = '1234' stoi(temp) = 1234
arr[i] - '0'
- 문자열에서 숫자만 얻고 싶을 때 사용
string
문자열에서 인덱스를 사용해 한글자씩 접근할 때는char
- 만약 숫자라면
'0'(=48) ~ '9'(=57)
값을 가져 '0'을 빼주기
ex) 문자가 '2'일 경우 아스키 코드 상 50 여기에 '0'(=48)을 빼주면 숫자 2string temp = '1234' for (int i=0; i<N; i++) { temp = temp[i] - '0'; }
문자열 인덱싱도 쉽지않네..^^;;;;;;
문자열,,, 정말,, 어렵죠,,