Pink Transparent Star

Coding Test/백준

[ 백준 ] 11720번 숫자의 합 구하기

채유나 2024. 1. 30. 13:36
728x90

문제

 

N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.

 

입력

 

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

 

#include <iostream>
#include <vector>
#include <string>
#include <numeric>
using namespace std;

int main()
{
	int count = 0;
	string num;

	vector<int> v;	
	int sum = 0;

	cin >> count;
	cin >> num;

	for (int i = 0; i < num.length(); i++)
	{
		int inum = num[i] - '0';
		v.push_back(inum);
	}	

	sum = accumulate(v.begin(), v.end(), 0);

	cout << sum;
}

 

문제 풀이

 

Vector을 사용하여 풀이

 

Char형 숫자 - Int형으로 변환

 

숫자의 아스키 값은 48번부터 0 ~ 9를 할당

Char형에서 48를 빼주면 순수한 숫자의 값을 얻을 수 있다. 

하지만 가독성 면에서 좋지않아 '0'으로 작성하여 직관성있는 코드를 작성하였다.

 

 

#include numeric

accumulate( 시작 값, 마지막 값, 초기값 );

728x90