본문 바로가기

Fundamentals/Algorithms

[해커랭크] A Very Big Sum

문제링크

 

A Very Big Sum | HackerRank

Calculate the sum of the values in an array that might exceed the range of int values.

www.hackerrank.com

배열 요소들의 모든 합을 반환합니다. 단, 배열에 포함된 정수 일부는 매우 클 수 있습니다.

 

풀이 :

 

function aVeryBigSum(ar: number[]): number {
   return ar.reduce((acc, cur) => acc+cur, 0);
}

 

reduce를 활용하여 배열 요소를 순회하며 누적 합계를 계산하여 결과값을 반환합니다.

 

 

다른 풀이 :

만약 요소의 값 범위가 정해지지 않은 경우라면?

function aVeryBigSum(ar: number[]): bigint {
   return ar.reduce((acc: bigint, cur: number) => acc+BigInt(cur), BigInt(0))
}

 

자바스크립트의 안전한 정수 범위를 초과하는 매우 큰 숫자들의 합을 계산하여 반환하기 위해 bigint 타입과 BigInt 생성자 함수 활용하여 문제를 풀 수 있을 것 같습니다.

'Fundamentals > Algorithms' 카테고리의 다른 글

[해커랭크] Mini-Max Sum  (0) 2023.11.14
[해커랭크] Diagonal Difference  (0) 2023.11.13
[해커랭크] Compare the Triplets  (0) 2023.11.09
[해커랭크] Simple Array Sum  (0) 2023.11.09
[해커랭크] Solve Me First  (0) 2023.11.09