공백없이 입력받기,,
처음에는 숫자 자릿수가 2개이상인 것은 어떻게 구분해야 하나 고민했지만 따로 생각할 필요없이
각각 다 한자릿수의 숫자만 입력된다고 여기면 되는 것이었다.
#include <iostream>
using namespace std;
int main() {
char *arr;
int a;
int sum = 0;
cin >> a;
arr = new char[a];
for (int i = 0; i < a; i++) {
char num;
cin >> num;
arr[i] = num;
}
for (int i = 0; i < a; i++) {
//cout << arr[i] <<' ';
sum += arr[i]-'0';
}
cout << sum;
}
CPP의 경우에는 위처럼 동적배열을 할당하여 각 숫자를 배열에 값으로 cin을 통하여 받았다
char로 받으니 자릿수 하나를 하나의 입력으로 자동으로 인식한다.
num=int(input())
a = str(input())
a = list(a)
a = list(map(int,a))
b = [int(x) for x in a]
print(sum(a))
파이썬이 익숙치 않아 형변환이 햇갈렸는데,
한번에 공백없는 입력을 자릿수 하나하나를 리스트로 만들 수는 없고
일단 문자열로 받아 문자하나하나 당의 리스트로 만들 수 있었다.
그 다음 형변환 함수를 사용했는데,
a = list(map(int,a))
b = [int(x) for x in a]
두 방식이 둘다 같은 결과물을 만들어내어 각 문자들을 숫자들로 변환해주었다.