inblog logo
|
silver
    알고리즘문제풀기

    [알고리즘문제풀기] 배열의 평균값

    silver's avatar
    silver
    Nov 19, 2024
    [알고리즘문제풀기] 배열의 평균값
     

    문제

    school.programmers.co.kr
    https://school.programmers.co.kr/learn/courses/30/lessons/120817?language=java
     

    내가 작성한 정답

    class Solution { public double solution(int[] numbers) { double answer = 0; for(int number: numbers){ answer += number; } return (double)answer/numbers.length; } }
     

    다른 사람들의 풀이

    import java.util.Arrays; class Solution { public double solution(int[] numbers) { return Arrays.stream(numbers).average().orElse(0); } }
     

    스트림

    Java 8에서 도입된 기능으로, 데이터 처리를 간소화하고 함수형 프로그래밍 스타일을 Java에 도입한 중요한 요소이다. 컬렉션(List, Set, Map 등)이나 배열의 데이터를 효율적이고 선언적으로 처리할 수 있도록 도와준다.
     
    • Stream: 데이터를 처리하기 위한 연속적인 데이터 흐름.
    • 중간 연산: 데이터 변환 및 필터링 (지연 실행).
    • 터미널 연산: 최종 결과 생성 (스트림 처리 시작).
     
    1. 컬렉션이나 배열에서 스트림 생성이 가능하다.
      1. List<String> list = Arrays.asList("a", "b", "c"); Stream<String> stream = list.stream();
    1. 중간 연산: 스트림에서 데이터를 변환하거나 필터링하는 작업으로 지연(lazy) 방식으로 실행된다.
      1. Stream<String> filtered = stream.filter(s -> s.startsWith("a"));
    1. 터미널 연산: 스트림의 최종 결과를 생성하는 작업으로 터미널 연산이 실행되면 스트림의 처리가 시작된다.
      1. filtered.forEach(System.out::println); // "a" 출력
     
     
    import java.util.Arrays; import java.util.List; public class StreamExample { public static void main(String[] args) { List<String> list = Arrays.asList("apple", "banana", "avocado", "blueberry"); list.stream() // 스트림 생성 .filter(s -> s.startsWith("a")) // 'a'로 시작하는 단어 필터링 .forEach(System.out::println); // 결과 출력 } }
     
    Share article

    silver

    RSS·Powered by Inblog