문제
정수 리스트 num_list가 주어집니다. 가장 첫 번째 원소를 1번 원소라고 할 때, 홀수 번째 원소들의 합과 짝수 번째 원소들의 합 중 큰 값을 return 하도록 solution 함수를 완성해주세요. 두 값이 같을 경우 그 값을 return합니다.
제한사항
- 5 ≤ num_list 의 길이 ≤ 50
- -9 ≤ num_list 의 원소 ≤ 9
class Solution {
public int solution(int[] num_list) {
int odd = 0, even = 0;
boolean isOdd = true;
for(int num : num_list) {
if(isOdd) {
odd += num;
}
else {
even += num;
}
isOdd = !isOdd;
}
return (odd > even) ? odd : even;
}
}
boolean 값을 스위치 하는 방식으로 해결했다.
각 if, else 문에 boolean 값을 바꿔주는 코드를 적을 수 있지만, 좀 더 깔끔하게 밖으로 빼내서 not 연산자를 활용하였다.
출처
https://school.programmers.co.kr/learn/courses/30/lessons/181887