n보다 커질 때까지 더하기

nacSeo (낙서)·2024년 2월 18일
0

프로그래머스

목록 보기
83/169

문제 설명

정수 배열 numbers와 정수 n이 매개변수로 주어집니다. numbers의 원소를 앞에서부터 하나씩 더하다가 그 합이 n보다 커지는 순간 이때까지 더했던 원소들의 합을 return 하는 solution 함수를 작성해 주세요.

제한사항

1 ≤ numbers의 길이 ≤ 100
1 ≤ numbers의 원소 ≤ 100
0 ≤ n < numbers의 모든 원소의 합

나의 코드

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

다른 사람 코드

class Solution {
    public int solution(int[] numbers, int n) {
        int answer = 0;

        for(int i = 0; answer <= n; i++) {
            answer += numbers[i];
        }

        return answer;
    }
}

break문 대신 for문의 조건 조정

느낀 점

엄청 쉽다하고 바로 풀었는데 다른 사람 코드를 보니 굳이 break문을 쓰지 않더라도 애초에 조건을 줘서 풀 수도 있었다. 보다 가독성 좋고 효율적인 코드를 짜보자

profile
백엔드 개발자 김창하입니다 🙇‍♂️

0개의 댓글