본문 바로가기
프론트앤드/[JavaScript]

[프로그래머스 코테] N보다 커질 때 까지 더하기

by 헬리이 2024. 1. 12.
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;
}
  1. 'answer'은 0으로 초기화됩니다. 이 변수는 배열에 있는 요소의 누계 합계를 추적한다.
  2. i는 0으로 초기화 하고, 이 변수는 numbers 배열에서 현재 요소의 인덱스를 나타낸다.
  3. 'answer'이 'n'보다 작거나 같은 동안 'while' 루프는 계속되며, 즉, 합계가 n보다 커질 때까지 배열의 요소를 계속 추가한다는 의미이다.
  4. 루프 내부에서는 '답변 += 숫자[i++]'가 핵심 부분입니다. 두 가지 작업을 수행하는데, 
    • numbers[i]: numbers 배열에서 현재 인덱스 i에 있는 요소에 액세스한 후
    • 답변 += ...: 답변 변수에 저장된 누계에 현재 요소를 추가한다.
    • i++: 루프의 다음 반복이 배열의 다음 요소를 처리하도록 인덱스 i를 하나씩 증가시킨다!.

따라서 루프는 합계(답변)가 n보다 커질 때까지 배열의 요소를 하나씩 계속 추가합니다. 그 시점에서 루프가 종료되고 최종 합계인 answer이 구해지게 된다!

728x90