
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번 부터 시작하니 문제가 해결 됐다.
'연습문제 > 프로그래머스, 기초 트레이닝' 카테고리의 다른 글
| [프로그래머스 기초_java] 배열에서 문자열 대소문자 변환하기 (0) | 2023.11.01 |
|---|---|
| [프로그래머스 기초_java] 원하는 문자열 찾기 (0) | 2023.10.31 |
| [프로그래머스 기초_java] 1로 만들기 (0) | 2023.10.31 |
| [프로그래머스 기초_java] 조건에 맞게 수열 변환하기 2 (0) | 2023.10.31 |
| [프로그래머스 기초_java] 조건에 맞게 수열 변환하기 1 (0) | 2023.10.31 |