[백준][ts/js] 11720번 숫자의 합

Pyotato·2023년 6월 30일
0

[백준][js/ts]

목록 보기
20/21
post-thumbnail

문제

N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.

입력

N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.

출력

입력으로 주어진 숫자 N개의 합을 출력한다.

후기

자바스크립트 arr 함수들을 중 reduce를 사용하면 인자로 받는 값들을 누적합해주고, 콤마 뒤의 값을 시작값으로 해서 쉽게 풀이를 할 수 있는 기본 문제였다.
입력값으로 받은 string도 결국 iterable이므로 (char들의 array같은 느낌) 그래서 spread연산자로 깊은복사 굳이해줘야할 필요 있나?해서 map으로 number타입으로 변경해줌.
복습 겸 arr 내장함수들 좀 정리해봐야겠다.

풀이

{
    const error_msg = () =>{console.log("입력값이 부적절합니다.")}
    const N:string|null = prompt("1보다 크거나 같고 100보다 작거나 같은 값을 입력해주세요.");
    const nums:string|null = prompt(`${N}개의 숫자를 공백없이 입력해주세요.`);
    if(N){
        let n: number = typeof parseInt(N)==="number"? parseInt(N):-1;
        let num_arr: Array<number>|null = nums? [...nums].map((v)=>parseInt(v)):null;
        if(n && num_arr){
            console.log(num_arr.reduce((prv,nxt)=>prv+nxt,0));
        }else{
            error_msg();
        }
    }else{
        error_msg();
    }
}
/*
test1

input
1
1

output
1

----

test2

input
5
54321

output
15

----

test3

input
25
7000000000000000000000000

output
7
----

test4

input
11
10987654321

output
46


*/
profile
https://pyotato-dev.tistory.com/ 로 이사중 🚚💨🚛💨🚚💨

0개의 댓글