728x90
문제 설명
더보기
정수 배열 numbers와 정수 n이 매개변수로 주어집니다. numbers의 원소를 앞에서부터 하나씩 더하다가 그 합이 n보다 커지는 순간 이때까지 더했던 원소들의 합을 return 하는 solution 함수를 작성해 주세요.
나의 풀이
function solution(numbers, n) {
var answer = 0;
let i = 0;
while(answer <= n){
answer += numbers[i++]
}
return answer;
}
- 'answer'은 0으로 초기화됩니다. 이 변수는 배열에 있는 요소의 누계 합계를 추적한다.
- i는 0으로 초기화 하고, 이 변수는 numbers 배열에서 현재 요소의 인덱스를 나타낸다.
- 'answer'이 'n'보다 작거나 같은 동안 'while' 루프는 계속되며, 즉, 합계가 n보다 커질 때까지 배열의 요소를 계속 추가한다는 의미이다.
- 루프 내부에서는 '답변 += 숫자[i++]'가 핵심 부분입니다. 두 가지 작업을 수행하는데,
- numbers[i]: numbers 배열에서 현재 인덱스 i에 있는 요소에 액세스한 후
- 답변 += ...: 답변 변수에 저장된 누계에 현재 요소를 추가한다.
- i++: 루프의 다음 반복이 배열의 다음 요소를 처리하도록 인덱스 i를 하나씩 증가시킨다!.
따라서 루프는 합계(답변)가 n보다 커질 때까지 배열의 요소를 하나씩 계속 추가합니다. 그 시점에서 루프가 종료되고 최종 합계인 answer이 구해지게 된다!
728x90
'프론트앤드 > [JavaScript]' 카테고리의 다른 글
Semantic Tag, 반복문 정리 및 복습 (0) | 2023.07.14 |
---|---|
면접질문중 헷갈렸던것 (프로토콜,SSR,CSR,브라우저 저장소,콜백 함수,GET) (0) | 2023.07.14 |