728x90
문제
N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.
출력
입력으로 주어진 숫자 N개의 합을 출력한다.
예제 입력 1
1
1
예제 출력 1
1
예제 입력 2
5
54321
예제 출력 2
15
예제 입력 3
25
7000000000000000000000000
예제 출력 3
7
예제 입력 4
11
10987654321
예제 출력 4
46
숫자로 받아서 % 와 / 연산을 사용해 풀고 싶었는데, 큰 숫자가 들어오니 예제 3부터 걸렸다.
double을 사용하려고 했더니 % 연산은 정수에만 적용이 된다고 했고, unsigned int를 사용하면 범위 때문에 엉뚱한 수가 들어와 답이 달라졌다.
그래서 결국 문자로 받아서 사용했는데 잘되더라.
#include <iostream>
#include <string>
using namespace std;
int main() {
int N, sum = 0;
string tmp;
cin >> N >> tmp;
for (int i = 0; i < N; i++) {
sum += tmp[i] - '0';
}
cout << sum;
return 0;
}
'[C_C++]코딩테스트 연습 > [백준] 일반 문제' 카테고리의 다른 글
[백준] 삼성 SW 역량 테스트 기출 - 2048 (Easy) (C언어) (0) | 2022.07.20 |
---|---|
[백준] 삼성 SW 역량 테스트 기출 - 구슬탈출2 (C언어) (0) | 2022.07.19 |
[백준] 11721 열 개씩 끊어 출력하기 - C++ 입출력 (0) | 2022.01.22 |
[백준] 11719 그대로 출력하기 2 - C++ 입출력 (0) | 2022.01.22 |
[백준] 11718 그대로 출력하기 - C++ 입출력 (0) | 2022.01.22 |