코딩테스트/프로그래머스

[Lv.0] 길이에 따른 연산(배열)

민톨이 2024. 7. 18. 14:28
728x90

📋 문제

정수가 담긴 리스트 num_list가 주어질 때, 
리스트의 길이가 11 이상이면 리스트에 있는 모든 원소의 합을 
10 이하이면 모든 원소의 곱을 return하도록 solution 함수를 완성해주세요.

 

📋 입출력 예시

 

📋 풀이

class Solution {
    public int solution(int[] num_list) {
        int answer = 0;
        //11이상
        if(num_list.length>=11){
            for(int i: num_list){
                answer += i;
            }
        // 10이하
            
        } else {
            answer = 1;
            for(int j:num_list){
                answer *= j;
                System.out.println(answer);
            }
            
        }
        return answer;
    }
}

 

향상된 for문을 사용하여 풀어보았다

 

else(배열 길이 10이하 인 경우)에는

answer값을 1로 재선언하였다. 왜냐하면 위에 0으로 전체선언 되어있어서

뭘 곱해도 0이 나오기 때문(print는 테스트용 출력값)