정수 배열 nums가 주어져요. 모든 원소의 합과 가장 큰 값을 [합, 최댓값] 배열로 반환해요.
언어가 제공하는 배열 API를 써도 되고 직접 반복문을 돌려도 돼요. 다만 원소가 10만 개까지 들어온다는 점은 기억해 둬요. 편해 보이는 방법 중에 이 크기에서 터지는 것이 있어요.
예시
예시 1
예시 2
예시 3
제한 사항
- 1 ≤ nums.length ≤ 100,000
- -10^9 ≤ nums[i] ≤ 10^9
자바스크립트의
Math.max(...nums) 는 배열을 인자 목록으로 펼치기 때문에 원소가 몇만 개가 되면 스택이 터져요. reduce 나 평범한 반복문을 써요. 파이썬의 sum, max 는 이런 제한이 없어요.javascriptCopy codefunction arraySumMax(nums) {let total = 0;let high = nums[0];for (const n of nums) {total += n;if (n > high) high = n;}return [total, high];}
이전 문제약수 구하기
다음 문제행의 합이 가장 큰 줄
예시 테스트만 실행 (Cmd/Ctrl+Enter)
숨김 테스트까지 채점 (Cmd/Ctrl+Shift+Enter)
에디터를 불러오고 있어요…
코드를 작성하고Ctrl↵를 눌러 예시 테스트를 확인해 보세요.