[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.