공부하기/백준

[Java] 백준 풀기 3058 - 짝수를 찾아라

XEV 2023. 11. 6. 23:42

자바 백준 3058번

브론즈 3

https://www.acmicpc.net/problem/3058

 

3058번: 짝수를 찾아라

입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터는 한 줄로 구성되어 있고, 7개의 자연수가 공백으로 구분되

www.acmicpc.net

 

 

 

 

 

문제 보기

분류: 수학, 구현, 사칙연산

 

 

 

 

 

코드 보기

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int testCase = sc.nextInt();  // 테스트 케이스의 개수를 입력

        for (int i = 0; i < testCase; i++) {  // 각 테스트 케이스에 대해 반복
            int[] numbers = new int[7];  // 7개의 자연수를 저장하는 배열

            // 7개의 자연수를 입력받아 배열에 저장
            for (int j = 0; j < 7; j++) {
                numbers[j] = sc.nextInt();
            }

            // 짝수의 합과 최솟값을 계산하는 함수 호출
            int[] result = calculateEvenSumAndMin(numbers);

            // 결과 출력
            System.out.println(result[0] + " " + result[1]);
        }
    }

    static int[] calculateEvenSumAndMin(int[] numbers) {
        int sumOfEvens = 0;  // 짝수의 합을 저장하는 변수
        int minEven = 100;  // 최솟값을 저장하는 변수 (초기값 100)

        for (int number : numbers) {  // 배열의 각 숫자에 대해 반복
            if (number % 2 == 0) {  // 현재 숫자가 짝수인 경우
                sumOfEvens += number;  // 짝수의 합에 현재 숫자를 더함
                minEven = Math.min(minEven,  number);  // 최솟값 업데이트
            }
        }

        int[] result = { sumOfEvens, minEven };  // 계산된 짝수의 합과 최솟값을 배열로 반환
        return result;
    }

}