프로그래머스 코딩테스트 입문 0단계 문제입니다
https://school.programmers.co.kr/learn/courses/30/lessons/120824
📢 문제 설명
정수가 담긴 리스트 num_list가 주어질 때, num_list의 원소 중 짝수와 홀수의 개수를 담은 배열을 return 하도록 solution 함수를 완성해보세요.
⭕ 정답 코드
1. IntStream 풀이
직접 풀어본 풀이입니다
class Solution {
public int[] solution(int[] num_list) {
int[] answer = new int[2];
//1> IntStream을 이용한 풀이
answer[0] = (int)IntStream.of(num_list).filter(i -> i%2==0).count();
answer[1] = (int)IntStream.of(num_list).filter(i -> i%2==1).count();
return answer;
}
}
- answer에 방 두개 할당
- num_list로 IntStream 생성
- filter로 짝수/홀수인 것만 남겨놓고
- count()해서 해당하는 answer방에 넣기
class Solution {
public int[] solution(int[] num_list) {
int[] answer = new int[2];
//2> 반복문을 이용한 풀이
for(int i = 0; i<num_list.length; i++)
answer[num_list[i] % 2]++;
return answer;
}
}
- 배열 길이 만큼 반복하면서
- 배열 원소를 2로 나누었을때 나머지가 0이면 0방에 +1, 1이면 1방에 +1
✅ 회고
Stream에만 치우치지 말고 연산자로 단순하게 풀 수 있는 방법도 고민해보자
'코딩테스트 스터디' 카테고리의 다른 글
코딩테스트 연습 - k의 개수 (JAVA) (0) | 2023.02.28 |
---|---|
코딩테스트 연습 - 배열 원소의 길이 (JAVA) (0) | 2023.02.17 |
코딩테스트 연습 - 피자 나눠 먹기 (1) (JAVA) (0) | 2023.02.15 |
코딩테스트 연습 - 배열 뒤집기 (JAVA) (0) | 2023.02.14 |
코딩테스트 연습 - 양꼬치 (JAVA) (0) | 2023.02.13 |