inblog logo
|
silver
    알고리즘문제풀기

    [알고리즘문제풀기] n보다 커질 때까지 더하기

    silver's avatar
    silver
    Mar 02, 2025
    [알고리즘문제풀기] n보다 커질 때까지 더하기
    Contents
    문제내가 작성한 정답다른 사람들의 정답

    문제

    school.programmers.co.kr
    https://school.programmers.co.kr/learn/courses/30/lessons/181884

    내가 작성한 정답

    class Solution { public int solution(int[] numbers, int n) { int answer = 0; for(int i : numbers){ answer += i; if(answer > n) break; } return answer; } }

    다른 사람들의 정답

    : for문에 answer의 조건을 넣어 원하는 범위까지만 for문을 돌렸다.
    class Solution { public int solution(int[] numbers, int n) { int answer = 0; for(int i = 0; answer <= n; i++) { answer += numbers[i]; } return answer; } }
    for문에 조건으로 i가 아닌 다른 루프 조건을 넣는 경우 → 이 문제에서는 발생할 수 없지만 배열의 범위 초과 오류가 발생할 수 있다 : answer가 n을 초과하는 순간 루프가 종료되므로, i가 배열의 길이를 초과할 수 있다. 이 경우 numbers[i]에 접근할 때 ArrayIndexOutOfBoundsException이 발생할 수 있다.
     
    Share article

    silver

    RSS·Powered by Inblog