Contents

ν™€μˆ˜ vs 짝수(with.Java)

   Sep 30, 2023     1 min read

ν™€μˆ˜ vs 짝수(with.Java)에 λŒ€ν•˜μ—¬ μ•Œμ•„λ³Έ κΈ€μž…λ‹ˆλ‹€.

μ½”λ”© ν…ŒμŠ€νŠΈ 문제λ₯Ό ν’€λ©°, ν’€μ—ˆλ˜ λ¬Έμ œμ— λŒ€ν•œ νšŒκ³ μ™€ λ‹€λ₯Έ 풀이 방법을 μ•Œμ•„λ³΄λ©°, μ•Œμ•„κ°€κ³ μž ν•©λ‹ˆλ‹€.

λ¬Έμ œμ— λŒ€ν•΄ λ¨Όμ € μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.

문제

μ •μˆ˜ 리슀트 num_listκ°€ μ£Όμ–΄μ§‘λ‹ˆλ‹€.

κ°€μž₯ 첫 번째 μ›μ†Œλ₯Ό 1번 μ›μ†ŒλΌκ³  ν•  λ•Œ, ν™€μˆ˜ 번째 μ›μ†Œλ“€μ˜ ν•©κ³Ό 짝수 번째 μ›μ†Œλ“€μ˜ ν•© 쀑 큰 값을 return ν•˜λ„λ‘ solution ν•¨μˆ˜λ₯Ό μ™„μ„±ν•΄μ£Όμ„Έμš”.

두 값이 같을 경우 κ·Έ 값을 returnν•©λ‹ˆλ‹€.

μž…μΆœλ ₯ μ˜ˆμ‹œ
num_listresult
[4, 2, 6, 1, 7, 6]17
[-1, 2, 5, 6, 3]8

λ¬Έμ œμ— λŒ€ν•œ λ‚˜μ˜ 풀이

class Solution {
    public int solution(int[] num_list) {
        int answer = 0;
        int oddSum = 0;
        int evenSum = 0;
        for(int i = 0; i < num_list.length; i++){
            if(i % 2 == 0){
                evenSum += num_list[i];
            }else {
                oddSum += num_list[i];
            }
        }
        answer = evenSum >= oddSum ? evenSum : oddSum;
        return answer;
    }
}
풀이 μ„€λͺ…

int answer = 0;: κ²°κ³Όλ₯Ό μ €μž₯ν•  λ³€μˆ˜ answerλ₯Ό μ΄ˆκΈ°ν™”ν•©λ‹ˆλ‹€.

int oddSum = 0;, int evenSum = 0;: 짝수 μΈλ±μŠ€μ— μžˆλŠ” μš”μ†Œλ“€κ³Ό ν™€μˆ˜ μΈλ±μŠ€μ— μžˆλŠ” μš”μ†Œλ“€μ„ ν•©μ‚°ν•  λ³€μˆ˜ oddSumκ³Ό evenSum을 μ΄ˆκΈ°ν™”ν•©λ‹ˆλ‹€.

for(int i = 0; i < num_list.length; i++) : μž…λ ₯ λ°°μ—΄ num_listλ₯Ό λ°˜λ³΅ν•˜λ©΄μ„œ 각 μš”μ†Œλ₯Ό κ²€μ‚¬ν•©λ‹ˆλ‹€.

if(i % 2 == 0) : ν˜„μž¬ 인덱슀 iκ°€ 짝수인 경우:

evenSum에 ν˜„μž¬ μš”μ†Œ 값을 λ”ν•©λ‹ˆλ‹€.

else : ν˜„μž¬ 인덱슀 iκ°€ ν™€μˆ˜μΈ 경우:

oddSum에 ν˜„μž¬ μš”μ†Œ 값을 λ”ν•©λ‹ˆλ‹€.

answer = evenSum >= oddSum ? evenSum : oddSum;: 짝수 μΈλ±μŠ€μ— μžˆλŠ” μš”μ†Œλ“€μ˜ ν•© evenSumκ³Ό ν™€μˆ˜ μΈλ±μŠ€μ— μžˆλŠ” μš”μ†Œλ“€μ˜ ν•© oddSum을 λΉ„κ΅ν•˜μ—¬, 더 큰 합을 answer에 μ €μž₯ν•©λ‹ˆλ‹€.

return answer;: μ΅œμ’…μ μœΌλ‘œ 두 ν•© 쀑 더 큰 값을 λ°˜ν™˜ν•©λ‹ˆλ‹€.