2주차 · 배열: 1차원과 2차원
쉬움배열구현

배열의 합과 최댓값

정수 배열 nums가 주어져요. 모든 원소의 합과 가장 큰 값을 [합, 최댓값] 배열로 반환해요.

언어가 제공하는 배열 API를 써도 되고 직접 반복문을 돌려도 돼요. 다만 원소가 10만 개까지 들어온다는 점은 기억해 둬요. 편해 보이는 방법 중에 이 크기에서 터지는 것이 있어요.

예시

예시 1
예시 2
예시 3

제한 사항

  • 1 ≤ nums.length ≤ 100,000
  • -10^9 ≤ nums[i] ≤ 10^9
자바스크립트의 Math.max(...nums) 는 배열을 인자 목록으로 펼치기 때문에 원소가 몇만 개가 되면 스택이 터져요. reduce 나 평범한 반복문을 써요. 파이썬의 sum, max 는 이런 제한이 없어요.
javascript
function arraySumMax(nums) {
let total = 0;
let high = nums[0];
for (const n of nums) {
total += n;
if (n > high) high = n;
}
return [total, high];
}
에디터를 불러오고 있어요…
코드를 작성하고를 눌러 예시 테스트를 확인해 보세요.