목차
문제 설명
정수가 담긴 배열 array와 정수 n이 매개변수로 주어질 때, array에 n이 몇 개 있는 지를 return 하도록 solution 함수를 완성해보세요.
해결법
자바8의 스트림 기능을 활용하여 최대한 간결하게 작성을 해보았는데...
우선 Arrays.stream(array)는 제공된 정수형 배열 array를 IntStream으로 변환한다.
Arrays.stream(array).filter(a -> a == n)은 스트림의 각 요소에 대해 주어진 조건을 만족하는 요소만을 스트림에 생성한다.
여기서 a -> a == n은 람다 표현식으로, 각 요소 'a'가 'n'과 같은지 검사를한다.
Arrays.stream(array).filter(a -> a == n).count()은 생성된 스트림의 요소 갯수를 반환하는데 'long'타입으로 반환한다.
따라서 int형으로 형 변환이 필요하다.
import java.util.Arrays;
class Solution {
public int solution(int[] array, int n) {
return (int) Arrays.stream(array).filter(a -> a == n).count();
}
}
728x90
'JAVA > 프로그래머스 코딩테스트 입문' 카테고리의 다른 글
[프로그래머스, 입문] 개미 군단 (0) | 2024.06.14 |
---|---|
[프로그래머스, 입문] 머쓱이보다 키 큰 사람 (0) | 2024.06.14 |
[프로그래머스, 입문] 배열 뒤집기 (0) | 2024.06.14 |
[프로그래머스, 입문] 아이스 아메리카노 (0) | 2024.06.14 |
[프로그래머스, 입문] 옷가게 할인 받기 (1) | 2024.06.14 |