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;
}
'백준 > 정렬' 카테고리의 다른 글
백준 1202 C++ "보석 도둑" -PlusUltraCode- (1) | 2024.11.14 |
---|---|
백준 10986 c++ "나머지 합" -PlusUltraCode- (0) | 2024.08.02 |
백준 11659 c++ "구간 합 구하기 4" -PlusUltraCode- (0) | 2024.08.01 |
백준 1546 c++ "평균" -PlusUltraCode- (0) | 2024.07.30 |
백준 2751 c++ "수 정렬하기 2" -PlusUltraCode- (0) | 2024.07.30 |