짝수 홀수 개수 Lv. 0

박영준·2023년 4월 21일
0

코딩테스트

목록 보기
57/300

문제 설명

정수가 담긴 리스트 num_list가 주어질 때, num_list의 원소 중 짝수와 홀수의 개수를 담은 배열을 return 하도록 solution 함수를 완성해보세요.

class Solution {
    public int[] solution(int[] num_list) {
        int[] answer = {};
        return answer;
    }
}

제한 사항

  • 1 ≤ num_list의 길이 ≤ 100
  • 0 ≤ num_list의 원소 ≤ 1,000

입출력 예

입출력 예 설명

  • 입출력 예 #1

    • [1, 2, 3, 4, 5]에는 짝수가 2, 4로 두 개, 홀수가 1, 3, 5로 세 개 있습니다.
  • 입출력 예 #2

    • [1, 3, 5, 7]에는 짝수가 없고 홀수가 네 개 있습니다.

해결법

방법 1

class Solution {
    public int[] solution(int[] num_list) {
        int[] answer = new int[2];		// 배열 크기 2로 생성
        
        int even = 0;		// 짝수 count
        int odd = 0;		// 홀수 count
        
        for (int i = 0; i < num_list.length; i++) {		// 배열을 반복해서 돈다
            if (num_list[i] % 2 == 0) {		// 해당 인덱스가 짝수라면
                even++;			// 짝수 count에 +1 올리기
                
                answer[0] = even;
            } else {
                odd++;
                
                answer[1] = odd;
            }
        }
        
        return answer;		// 처음에 생성해둔 배열을 반환
    }
}

방법 2

class Solution {
    public int[] solution(int[] num_list) {
        int[] answer = new int[2];		// answer 배열의 크기를 2로 생성한다.
        
        int countX = 0;		// x값 선언 (짝수)
        int countY = 0;		// y값 선언 (홀수)
        
        for (int i = 0; i < num_list.length; i++) {
            if (num_list[i] % 2 == 0) {
                countX++;

            } else {
                countY++;

            }
        }
        
        answer[0] = countX;		// count 로 세었던 개수를 각 배열에 넣어준다.
        answer[1] = countY;
        
        return answer;
    }
}
  • 변수명을 더 명확히 하기위해 even(짝수), odd(홀수)로 지정하는 것도 좋다.

방법 3

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;
    }
}
  • 새로운 변수를 선언하지 않고, answer 를 그래도 활용할 수도 있다.

짝수 홀수 개수

profile
개발자로 거듭나기!

0개의 댓글