Post

[Programmers] #120824 - 짝수 홀수 개수 [Java][C++][Python]

리스트에서 짝수와 홀수의 개수를 세는 워밍업 문제.

[Programmers] #120824 - 짝수 홀수 개수 [Java][C++][Python]

문제 링크


1. 아이디어

리스트 num_list를 순회하며 각 원소를 2로 나눈 나머지로 짝수/홀수를 구분해 개수를 센 뒤, [짝수 개수, 홀수 개수] 순서로 반환하면 되는 문제다.


2. 복잡도

접근시간공간
풀이$O(N)$$O(1)$

($N$ = num_list의 길이. 길이 2인 반환 배열은 출력 자체이므로 별도 공간으로 세지 않는다)


3. 코드

풀이 [Java][C++][Python]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Solution {
    public int[] solution(int[] num_list) {
        int odd = 0, even = 0;
        for (int x : num_list) {
            if (x % 2 == 1) {
                odd++;
            } else {
                even++;
            }
        }

        return new int[]{even, odd};
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <bits/stdc++.h>
using namespace std;

vector<int> solution(vector<int> num_list) {
    int odd = 0, even = 0;
    for (int x : num_list) {
        if (x % 2) {
            odd++;
        } else {
            even++;
        }
    }

    return {even, odd};
}
1
2
3
4
def solution(num_list):
    odd = sum(1 for x in num_list if x % 2 == 1)
    even = len(num_list) - odd
    return [even, odd]

This post is licensed under CC BY 4.0 by the author.