알고리즘/백준

백준 11720 숫자의 합 c++ [컴공과고씨]

시간빌게이츠 2022. 4. 5. 21:14

https://www.acmicpc.net/problem/11720

 

11720번: 숫자의 합

첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.

www.acmicpc.net

이 문제를 보고 두가지 방법을 떠올렸는데 공백을 주지 않기 때문에 int 받으면 각자리 수 반복문을 통해 구해서 출력하거나 string을 이용해서 각 자리를 stoi를 이용해서 int로 변환해서 더해주는 것이다.

나는 후자를 사용했다.

 

쉽게 string으로 입력을 받아서 각 하나하나 마다 문자를 - '0'을 통해서 char형을 int형으로 변환해주었다.

 

전체코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <string>
using namespace std;
int main(){
    int n;
    string s;
    cin >> n;
    cin >> s;
    int sum = 0;
    for (int i = 0; i < n; i++){
        sum += s[i] - '0'; //char형을 int형으로 변환
    }
    cout << sum;
    return 0;
}// 5 min
cs
체감난이도 걸린시간 참고 사용 문법
5min x string