[자바(JAVA)] 짝수 홀수 개수

Noh Jihyeon·2023년 12월 14일
0
post-thumbnail

문제: https://school.programmers.co.kr/learn/courses/30/lessons/120824




✅ 내 풀이


class Solution {
    public int[] solution(int[] num_list) {
        int even = 0, odd = 0;
        int[] answer = new int[2];

                for (int i=0; i< num_list.length; i++){
            if(num_list[i] % 2 == 0) {
                even++;
            }
            else odd++; 
            answer[0] = even;
            answer[1] = odd;
        }
        return answer;
    }
}




✅ 1. 다른풀이 (코드 간결화)

// 1. 다른풀이 (코드 간결화)
class Solution {
    public int[] solution(int[] num_list) {
        int[] answer = new int[2];

        for(int i = 0 ; i < num_list.length ; i++){
            if(num_list[i]%2==0){
                answer[0]++;
            }else{
                answer[1]++;
            }
        }

        return answer;
    }
}

📄 내 코드보다 깔끔한 이유 ❓
: 출력값이 [짝수, 홀수]로 나오기 때문에 굳이 변수를 선언하는게 아니라 if문에 맞춰서 answer[0], [1]값을 바로 카운팅하면 된다.




✅ 2. 다른풀이

class Solution {
    public int[] solution(int[] num_list) {
        int[] answer = new int[2];
        for(int i = 0; i < num_list.length; i++)
            answer[num_list[i] % 2]++;

        return answer;
    }
}

📄 풀이)

num_list = {1, 2, 3, 4, 5}; 일때
num_list[0] % 2 = 1;
num_list[1] % 2 = 0;
num_list[2] % 2 = 1;
num_list[3] % 2 = 0;
num_list[4] % 2 = 1;
answer[1]++;
answer[0]++;
answer[1]++;
answer[0]++;
answer[1]++;

// 결과값 형태: [짝수의 개수, 홀수의 개수]
// 짝수 = 나머지가 0임 = answer의 0번째 인덱스에 카운팅됨

// 즉, answer[num_list[i] % 2]++; 코드로 짝수 or 홀수 판별 후 카운팅까지 가능함



profile
꼭꼭 씹어서 소화시키는 맛있는 코딩

0개의 댓글