본문 바로가기
백준/정렬

백준 11720 c++ "숫자의 합" -PlusUltraCode-

by PlusUltraCode 2024. 7. 30.

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

 

 

 

 

[필자 사고]

이 문제에서 핵심은 N의 수를 보는것이다. 

N의 범위가 1~100 이다. 즉 100자리까지 숫자가 만들어진다는 뜻이다.

실제로 int 를 사용하게 되면 문제가 발생한다.

 

필자는 이 문제를 string 즉 문자열로 접근했다.

 

배열  idx 하나하나에 접근하면서 stoi내장함수를 사용하여 문자를 숫자로 바꿔주는 로직으로 설계했다.

 

 

 

 

[소스 코드]

 

#include <iostream>
#include <vector>
#include <string>

using namespace std;

int N;
string number;
int result = 0;

void calculator(string number2) {

	int idx = 0;

	while (number2[idx] != NULL) {
		string str = "";
		str += number2[idx];

		result += stoi(str);
		idx++;
	}
}

void Input() {
	cin >> N;
	cin >> number;
}

int main(void) {
	Input();
	calculator(number);
	cout << result;
}