문제
문제: N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.
입력: 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.
출력: 입력으로 주어진 숫자 N개의 합을 출력한다.
예제 입력: 1 또는 5 또는 25 또는 11
1 54321 7000000000000000000000000 10987654321
예제 출력: 1 15 7 46
풀이
const fs = require('fs');
const input = fs.readFileSync(0, 'utf-8').trim().split('\n');
const num = Number(input[0]);
const N = input[1].split('').map(Number);
let sum = 0;
for(let i = 0; i<N.length; i++){
sum += N[i];
}
console.log(sum);
풀이 해석
1. input[1]을 split('')을 사용하여 숫자 문자열을 하나씩 배열로 저장한다. map(Number)로 숫자로 변환한다.
2. 합계를 저장할 let변수 sum을 선언한다.
3. for반복문을 사용하여 N의 숫자배열의 인덱스 하나씩을 가져와서 더해준다.
4. 최종 합계를 출력한다.
더 알아보기
1. for반복문없이 더 간결한 코드 사용: reduce()
const fs = require('fs');
const input = fs.readFileSync(0, 'utf-8').trim().split('\n');
const sum = input[1].split('').map(Number).reduce((acc, cur) => acc + cur, 0);
console.log(sum);
- reduce((acc,cur) => acc + cur, 0) 배열의 요소들을 모두 더한다.
'알고리즘 Node.js' 카테고리의 다른 글
백준 2675문제. 문자열 반복 (0) | 2025.03.18 |
---|---|
백준 10809문제. 알파벳 찾기 (0) | 2025.03.17 |
백준 11654문제. 아스키 코드 (0) | 2025.03.15 |
백준 9086문제. 문자열 (0) | 2025.03.15 |
백준 2743문제. 단어 길이 재기 (0) | 2025.03.14 |