Solution 1) 내 풀이
class Solution {
    public int solution(int[] num_list) {
        int answer = num_list[0];
        
        for (int i = 1; i < num_list.length; i++) {
            if (num_list.length >= 11) {
                answer += num_list[i];
            } else {
                answer *= num_list[i];
            }
        }
        return answer;
    }
}
코드 및 문제 리뷰

배열의 길이가 11 이상이라면 요소들의 합을, 10 이하라면 요소들의 곱을 반환하는 문제이다.

 

처음 answer의 값을 1로 잡고 시행했을 때, 배열이 10이하라면 문제 없지만 11 이상이라면 문제가 발생 되는 것을

알았다. 11 이상이라면 요소들의 합을 구해야하는데 기본 값이 1 이기 때문에 정답의 +1이 되는 것.

마지막에 1을 빼주는 것도 좋지만 뭔가 떨떠름 했다. 굳이 줬다 뻇는 느낌이고 더 깔끔해질 수 있을 것 같았다.

 

그래서 answer의 값을 배열의 idx 0번 요소를 주고, 반복문을 1번 부터 시작하니 문제가 해결 됐다.

+ Recent posts