문제
N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.
출력
입력으로 주어진 숫자 N개의 합을 출력한다.
<C++> 2020/05/26
#include <iostream>
#include <string>
using namespace std;
int main() {
int n;
cin >> n;
string str;
cin >> str;
int result = 0;
for(int i=0; i<n; i++) {
result += str[i] - '0';
}
cout << result << endl;
}
처음에 str[i] - '0' 부분에서 애를 먹었다.
str에 숫자를 받는다 한들, string으로 저장된다는 거를 잊고있었다.
그래서 숫자로 변환하기 위해 숫자0이 아닌 문자'0'을 빼주면, 숫자로 된다. (아스키코드 연산)
아마 이문제는 이게 키포인트가 아닌가싶다.
<JS> 2022/04/28
const fs = require('fs');
const filePath = process.platform === 'linux' ? '/dev/stdin' : '../input.txt';
const input = fs.readFileSync(filePath).toString().split('\n');
const [N, inputTestCase] = input;
function solution(N, inputTestCase) {
let sum = 0;
inputTestCase.split('').map(item => {
sum += Number(item);
});
console.log(sum);
}
solution(N, inputTestCase);
들어온 입력을 N과 문자열로 나눠준다.
문자열을 split('')을 이용해 하나하나 나누어 배열에 저장해주고, map을 통해 모든 값을 sum에 더해준다.
'PS > 백준' 카테고리의 다른 글
백준 / String(문자열) / 1157번 / 단어 공부 / C++ (0) | 2020.05.27 |
---|---|
백준 / String(문자열) / 2675번 / 문자열 반복 / C++ (0) | 2020.05.27 |
백준 / String(문자열) / 10809번 / 알파벳 찾기 / C++ (0) | 2020.05.27 |
백준 / 10951번 / A+B - 4 / C++ (0) | 2020.05.16 |