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

테스트 2에서 값이 안 나옴;
왜 그럴까 검색해보니 두번째 조건인 배열 길이가 10 이하일 때 anwer의 초기값이 0이기 곱하면 결과값이 0이 나오기 때문에 그런거였다.
근데 나 애초에 for문이랑 if문을 바꿔서 썼네.... 하 눈물난다.
여튼 다시 작성함.
class Solution {
public int solution(int[] num_list) {
int answer = 0;
if(num_list.length >= 11){
for(int i = 0; i < num_list.length; i++){
answer += num_list[i];
}
} else if(num_list.length <= 10){
answer = 1;
for(int i = 0; i < num_list.length; i++){
answer *= num_list[i];
}
} return answer;
}
}
배열의 길이가 11 이상이면 배열의 모든 값을 더한다.
answer = 0 + 3 + 4 + 5 + 2 + ...
배열의 모든 요소들의 합이 answer에 저장된다.
배열의 길이가 10 이하이면 배열의 모든 값을 곱한다.
위에 선언 및 초기화 된 answer = 0을 그대로 대입하면 answer = 0 * 2가 되는데 0을 반환한다. 그러므로 아무리 곱해도 0이 나오기 때문에 결과값이 나오질 않음.
answer = 1;로 초기화 해서 진행해야 정확한 값을 반환한다.

'코테 > 프로그래머스 JAVA Lv.0' 카테고리의 다른 글
| [프로그래머스/java/Lv.0] 주사위의 개수 (0) | 2025.01.07 |
|---|---|
| [프로그래머스/java/Lv.0] 직각삼각형 출력하기 (0) | 2025.01.06 |
| [프로그래머스/java/Lv.0] 순서쌍의 개수 (0) | 2025.01.04 |
| [프로그래머스/java/Lv.0] 조건에 맞게 수열 변환하기 1 (1) | 2025.01.02 |
| [프로그래머스/java/Lv.0] 홀짝 구분하기 (0) | 2024.12.30 |