stream 기본구조(백준 11382번)

황인성·2023년 3월 30일
0
import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        String[] inputBits = sc.nextLine().split(" ");
        long sum = Arrays.stream(inputBits)
            .mapToLong(e ->Long.parseLong(e))
            .sum();
        // [77, 77, 7777]
        /*
        for (String inputBit : inputBits) {
            sum += Long.parseLong(inputBit);
        }
        */
        System.out.println(sum);
        sc.close();
    }
}

이하 chatGPT
이 코드는 Java로 작성된 콘솔 애플리케이션으로, 사용자로부터 입력받은 문자열을 공백을 기준으로 분리하여 long 형식으로 변환한 후 합산하여 출력하는 기능을 수행합니다.

Scanner 클래스를 사용하여 콘솔에서 입력을 받습니다. nextLine() 메소드를 호출하여 한 줄의 문자열을 읽은 후, split(" ") 메소드를 호출하여 공백을 기준으로 문자열을 분리하여 inputBits 배열에 저장합니다.

Arrays.stream() 메소드를 사용하여 inputBits 배열을 스트림으로 변환한 후, mapToLong() 메소드를 사용하여 각 문자열을 long 형식으로 변환합니다. 이후 sum() 메소드를 호출하여 스트림 요소들의 합을 계산하고, sum 변수에 저장합니다.

마지막으로 System.out.println() 메소드를 사용하여 sum 값을 출력하고, Scanner 클래스의 close() 메소드를 호출하여 사용한 자원을 반환합니다.

주석 처리된 부분은 for 반복문을 사용하여 배열 요소들을 하나씩 처리하는 방식입니다. 위 코드와 동일한 결과를 출력하지만, 함수형 프로그래밍 스타일에 따라 스트림을 사용하여 간결하게 구현한 것입니다.

profile
문제 해결을 위해 끊임없이 파고드는 걸 좋아합니다.

0개의 댓글